Для записи чисел в десятичной системе счисления используют десять символов, располагаемых в разных комбинациях в ряд по горизонтали. Значение символа зависит от его места в ряду. 29 и 92 означают разные числа, потому что 2 и 9 занимают разные позиции. 29 означает «два десятка и девять единиц». 5804 означает «пять тысяч, восемь сотен, ни одного десятка и четыре единицы». Позиция цифры в десятичном числе означает, на какую степень десяти[32]
мы ее умножаем. Разряды растут справа налево: единицы, десятки, сотни, тысячи, десятки тысяч и т. д. Иными словами, запись 5804 означает: × 10³ + × 10² + × 101 + × 100.Чем больше символов в десятичном числе, тем труднее его прочесть. Обычно каждый четвертый разряд отделяют пробелом или запятой[33]
.Двоичная система устроена схожим образом, просто позиция в записи означает, на какую степень двух (а не десяти) мы должны умножить эту конкретную цифру.
В двоичной системе счисления используются всего два символа: 0 и 1. Разряды здесь тоже растут справа налево, обозначая количество единиц, двоек, четверок, восьмерок и т. д. Например, в двоичной записи 10110 означает:
× 2⁴ + × 2³ + × 2² + × 21 + × 20 = 16 + 4 + 2 = 22.Проверьте, насколько вы ориентируетесь в новой теме: чему равно число 42 в двоичной системе и чему равно число 110112
в десятичной[34]? Ответы – в конце главы.Двоичные числа труднее для чтения, чем десятичные. Двоичная запись 1011001 кажется менее привычной, чем десятичная запись того же числа: 89. Преимущество двоичных чисел в том, что их использование облегчает вычисления. Вместо огромного количества математических данных нам необходимы всего две таблицы:
Заметьте, что в таблице умножения 10 означает число два.
Сложение двоичных чисел устроено так же, как в десятичной системе. Например, нам нужно найти сумму 101002
и 11102. Расположим эти числа друг над другом:Дальше нужно двигаться справа налево, складывая цифры в каждом столбце и при необходимости перемещая единицу на столбец влево. В нашем случае мы сложим два нуля и получим ноль:
Дальше идет столбец двоек. Мы складываем 1 и 0 (переносить ничего не требуется):
Дальше – столбец четверок. Мы складываем 1 и 1, получаем 10, пишем 0, держим 1 в уме и переносим на столбец влево:
Следующий столбец – восьмерки. Складываем 1 и 0 и 1, получаем 10, пишем 0 и держим 1 в уме:
Заканчиваем на столбце, означающем, сколько раз в числе встречается 16. Сложение дает 10, мы пишем 0 в текущем столбце и 1 в столбце с разрядом 32:
Мы обнаружили, что 10100 + 1110 = 100010.
Переведем это на язык десятичных чисел:
101002
= 20, 11102 = 14, 1000102 = 34.Разумеется, 20 + 14 = 34.
Умножение в двоичной системе проще, чем в десятичной. Достаточно усвоить два принципа: сложение двоичных чисел (мы в нем только что разобрались) и умножение на степени двойки.
Умножение числа на 10 в десятичной системе не представляет сложности: мы просто добавляем цифру 0 справа: 23 × 10 = 230. Точно так же выглядит умножение на 2 в двоичной системе: 1101 × 10 = 11010. В случае десятичных чисел это очевидно, в случае двоичных 1101 означает:
× 8 + × 4 + × 2 + × 1.Умножение на 2:
× 16 + × 8 + × 4 + × 2 + × 1.Лишний ноль на конце дает 11010.
Умножение на 4, 8 и другие степени двойки тоже просто: например, умножение на 810
(10002) равнозначно приращению трех нулей с правой стороны числа.Итак, умножение превращается в игру «перемести-и-добавь-цифры». Проиллюстрируем это на примере умножения 11010 на 1011. Для начала запишем второе число так:
1011 = 1000 + 10 + 1.
Умножение на 11010 можно представить так:
11010 × 1011 = 11010 × (1000 + 10 + 1) = 11010 × 1000 + 11010 × 10 + 11010 × 1 = 11010
+ 11010 + 11010.Удобнее умножать в столбик:
А вот и ответ:
Давайте переведем числа в десятичные, чтобы удостовериться, что все правильно:
110102
= 16 + 8 + 2 = 26;10112
= 8 + 2 + 1 = 11;1000111102
= 256 + 16 + 8 + 4 + 2 = 286.Мы не ошиблись: 26 × 11 = 286.
В десятичной системе мы можем записывать не только целые числа. Если поставить в конце запятую[35]
, мы получим новые места для цифр: по мере движения вправо степени десяти будут все меньше. Например, 34,27 – это компактный способ записи такого выражения:Двоичная система тоже позволяет записывать дробные значения. Каждую следующую цифру после запятой[36]
мы умножаем на предыдущую степень двойки. Например, 101,0112 означает:Непривычный способ записать одну вторую: 0,12
!Есть и другие системы счисления, помимо десятичной, единичной и двоичной[37]
. В третичной системе мы пользуемся цифрами 0, 1 и 2, здесь все строится на степенях тройки. Скажем, 11023 означает:1 × 27 + 1 × 9 + 0 × 3 + 2 × 1 = 38.