Как мы уже здесь говорили, практически все современные компьютеры представляют, хранят и обрабатывают информацию в двоичном виде. Неплохо бы и людям, которые всё время работают с компьютерами, программируют (или хотя бы пытаются) и вообще что-то разрабатывают, знать, как всё это работает.
Основы работы компьютера начинаются с двоичных чисел и логических операций. Все люди надеются, что специалист, который работает с оборудованием, знает, как оно действует. Однако, это далеко не всегда так. В итоге специалист решает проблемы методом высоконаучного тыка пальцем в одно место. Результат соответствующий.
Поэтому давайте не будем роптать и тыкать пальцем в это самое, лучше давайте «добьём» эту тему и разберёмся с числами, чтобы затем разобраться с логикой и перейти непосредственно к вопросам разработки реальных сайтов. Более того, освоив системы счисления и логические операции над числами, вы сможете в дальнейшем изучать языки программирования, чтобы разрабатывать пользовательские приложения для дома или офиса.
И хотя все числа в компьютере являются двоичными, некоторые программы используют запись в восьмеричном и шестнадцатиричном виде, чтобы сделать её более компактной. Перевод чисел между двоичной, восьмеричной и шестнадцатиричной системами осуществляется намного проще, чем с десятичной. Браузеры и многие скриптовые языки осуществляют этот перевод на лету.
Вспоминая прошлую статью, вы наверное уже сможете ответить своими словами на вопрос, что такое основание системы счисления. Так вот, системы счисления, которые мы будем сейчас изучать, различаются только лишь по основанию. То есть, грубо говоря, если «десяткой» для десятичной системы счисления является число десять, то для двоичной это будет два, для восьмеричной — восемь, а для шестнадцатиричной — шестнадцать.
«Эй, что за фигню несёт этот парень!»
Ну вот смотрите. В десятичной системе счисления есть цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, а потом идёт 10, то есть уже двухразрядное число, где старший разряд имеет вес 10 в первой степени.
Точно так же в восьмеричной системе счисления, там есть цифры 0, 1, 2, 3, 4, 5, 6, 7 — всего восемь цифр, а дальше идёт 10. Основанием — «десяткой» — для восьмеричной системы является восемь, потому-то она и восьмеричная.
Для двоичной — тут вообще всё проще, потому-то она и используется в машинных вычислениях. Для машин особо сложные принципы работы губительны. Итак, в двоичной системе есть всего две цифры — 0 и 1. А дальше идёт что? Конечно, 10. Такие дела!
С шестнадцатиричной системой всё несколько веселее, потому что привычных цифр, которые используются в десятичной, восьмеричной и двоичной системах, всего 10 (от 0 до 9). Те цифры, которые соответствуют значениям от десяти до пятнадцати, принято обозначать латинскими буквами. То есть, в 16-чной системе принято использовать следующие «цифры»: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Ну а дальше что, сами уже, наверное угадаете (10, если чё ).
Числа, записанные в разных системах счисления, принято различать по нижнему индексу, например:
101012 — число, записанное в двоичной системе,
4518 — в восьмеричной,
34210 — в десятичной,
1F8D16 — в шестнадцатиричной.
Притом, числа ноль и один будут во всех этих системах одинаковы, то есть 02 = 08 = 010 = 016 и 12 = 18 = 110 = 116.
Причём, уже число два будет: 102 = 28 = 210 = 216. Число три: 112 = 38 = 310 = 316.
Число восемь: 10002 = 108 = 810 = 816. Число девять: 10012 = 118 = 910 = 916. Число десять: 10102 = 128 = 1010 = A16.
Число пятнадцать: 11112 = 178 = 1510 = F16. Число шестнадцать: 100002 = 208 = 1610 = 1016. Число семнадцать: 100012 = 218 = 1710 = 1116.
И так далее. Чтобы было ещё более понятно, как они получаются, сведём все маленькие числа в разных системах счисления в одну таблицу:
Двоичное | Восьмеричное | Десятичное | Шестнадцатиричное |
0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 |
10 | 2 | 2 | 2 |
11 | 3 | 3 | 3 |
100 | 4 | 4 | 4 |
101 | 5 | 5 | 5 |
110 | 6 | 6 | 6 |
111 | 7 | 7 | 7 |
1000 | 10 | 8 | 8 |
1001 | 11 | 9 | 9 |
1010 | 12 | 10 | A |
1011 | 13 | 11 | B |
1100 | 14 | 12 | C |
1101 | 15 | 13 | D |
1110 | 16 | 14 | E |
1111 | 17 | 15 | F |
10000 | 20 | 16 | 10 |
10001 | 21 | 17 | 11 |
10010 | 22 | 18 | 12 |
10011 | 23 | 19 | 13 |
10100 | 24 | 20 | 14 |
10101 | 25 | 21 | 15 |
10110 | 26 | 22 | 16 |
10111 | 27 | 23 | 17 |
11000 | 30 | 24 | 18 |
11001 | 31 | 25 | 19 |
11010 | 32 | 26 | 1A |
11011 | 33 | 27 | 1B |
11100 | 34 | 28 | 1C |
11101 | 35 | 29 | 1D |
11110 | 36 | 30 | 1E |
11111 | 37 | 31 | 1F |
100000 | 40 | 32 | 20 |
Теперь, я думаю, все, кто ещё не понимал, начнут догадываться, как образуются числа в разных системах счисления и как там ведётся счёт. Для удобства столбец с десятичной системой счисления выделен красным. Там Вы увидите запись числа в наиболее привычном виде.
Способы перевода из одной системы счисления в другую
Попозже допишу, но статья должна быть доступна уже сейчас, поэтому продолжение следует… Автор: Илья Бутусов