Двоичная система счисления — позиционная система счисления с основанием 2. Благодаря непосредственной реализации в цифровых электронных схемах на логических вентилях, двоичная система используется практически во всех современных компьютерах и прочих вычислительных электронных устройствах.
В двоичной системе счисления числа записываются с помощью двух символов (0 и 1). Чтобы не путать, в какой системе счисления записано число, его снабжают указателем справа внизу. Например, число в десятичной системе 510, в двоичной 1012. Иногда двоичное число обозначают префиксом 0b или символом & (амперсанд)[1], например 0b101 или соответственно &101.
В двоичной системе счисления (как и в других системах счисления, кроме десятичной) знаки читаются по одному. Например, число 1012 произносится «один ноль один».
Натуральное число, записываемое в двоичной системе счисления как , имеет значение:
где:
Отрицательные двоичные числа обозначаются так же как и десятичные: знаком «−» перед числом. А именно, отрицательное целое число, записываемое в двоичной системе счисления , имеет величину:
В вычислительной технике широко используется запись отрицательных двоичных чисел в дополнительном коде.
Дробное число, записываемое в двоичной системе счисления как , имеет величину:
где:
Таблица сложения
+ | 0 | 1 |
---|---|---|
0 | 0 | 1 |
1 | 1 | 0 (перенос 1 в старший разряд) |
Таблица вычитания
- | 0 | 1 |
---|---|---|
0 | 0 | 1 |
1 | 1(заём из старшего разряда) | 0 |
Пример сложения «столбиком» (десятичное выражение 1410 + 510 = 1910 в двоичном виде выглядит как 11102 + 1012 = 100112):
+ | 1 | 1 | 1 | 0 | |
1 | 0 | 1 | |||
1 | 0 | 0 | 1 | 1 |
Таблица умножения
× | 0 | 1 |
---|---|---|
0 | 0 | 0 |
1 | 0 | 1 |
Пример умножения «столбиком» (десятичное выражение 1410 * 510 = 7010 в двоичном виде выглядит как 11102 * 1012 = 10001102):
× | 1 | 1 | 1 | 0 | |||
1 | 0 | 1 | |||||
+ | 1 | 1 | 1 | 0 | |||
1 | 1 | 1 | 0 | ||||
1 | 0 | 0 | 0 | 1 | 1 | 0 |
Для преобразования из двоичной системы в десятичную используют следующую таблицу степеней основания 2:
1024 | 512 | 256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
Начиная с цифры 1 все цифры умножаются на два. Точка, которая стоит после 1, называется двоичной точкой.
Допустим, дано двоичное число 1100012. Для перевода в десятичное запишите его как сумму по разрядам следующим образом:
1 * 25 + 1 * 24 + 0 * 23 + 0 * 22 + 0 * 21 + 1 * 20 = 49
То же самое чуть иначе:
1 * 32 + 1 * 16 + 0 * 8 + 0 * 4 + 0 * 2 + 1 * 1 = 49
Можно записать это в виде таблицы следующим образом:
512 | 256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 | 1 | 0 | 0 | 0 | 1 | ||||
+32 | +16 | +0 | +0 | +0 | +1 |
Двигайтесь справа налево. Под каждой двоичной единицей напишите её эквивалент в строчке ниже. Сложите получившиеся десятичные числа.
Таким образом, двоичное число 1100012 равнозначно десятичному 4910.
Нужно перевести число 1011010,1012 в десятичную систему. Запишем это число следующим образом:
1 * 26 + 0 * 25 + 1 * 24 + 1 * 23 + 0 * 22 + 1 * 21 + 0 * 20 + 1 * 2−1 + 0 * 2−2 + 1 * 2−3 = 90,625
То же самое чуть иначе:
1 * 64 + 0 * 32 + 1 * 16 + 1 * 8 + 0 * 4 + 1 * 2 + 0 * 1 + 1 * 0,5 + 0 * 0,25 + 1 * 0,125 = 90,625
Или по таблице:
64 | 32 | 16 | 8 | 4 | 2 | 1 | 0.5 | 0.25 | 0.125 | |
1 | 0 | 1 | 1 | 0 | 1 | 0 | , | 1 | 0 | 1 |
+64 | +0 | +16 | +8 | +0 | +2 | +0 | +0.5 | +0 | +0.125 |
Для того, чтобы преобразовывать числа из двоичной в десятичную систему данным методом, надо суммировать цифры слева направо, умножая ранее полученный результат на основу системы (в данном случае 2). Методом Горнера обычно переводят из двоичной в десятичную систему. Обратная операция затруднительна, так как требует навыков сложения и умножения в двоичной системе счисления.
Например, двоичное число 10110112 переводится в десятичную систему так:
0*2 + 1 = 1
1*2 + 0 = 2
2*2 + 1 = 5
5*2 + 1 = 11
11*2 + 0 = 22
22*2 + 1 = 45
45*2 + 1 = 91
То есть в десятичной системе это число будет записано как 91.
Цифры берутся из числа справа налево и делятся на основу системы счисления (2).
Например 0,11012
(0 + 1)/2 = 0,5
(0,5 + 0)/2 = 0,25
(0,25 + 1)/2 = 0,625
(0,625 + 1)/2 = 0,8125
Ответ: 0,11012= 0,812510
Допустим, нам нужно перевести число 19 в двоичное. Вы можете воспользоваться следующей процедурой :
19/2 = 9 с остатком 1
9/2 = 4 c остатком 1
4/2 = 2 без остатка 0
2/2 = 1 без остатка 0
1/2 = 0 с остатком 1
Итак, мы делим каждое частное на 2 и записываем остаток в конец двоичной записи. Продолжаем деление до тех пор, пока в частном не будет 0. Результат записываем справа налево. То есть нижняя цифра (1) будет самой левой и т. д. В результате получаем число 19 в двоичной записи: 10011.
Если в исходном числе есть целая часть, то она преобразуется отдельно от дробной. Перевод дробного числа из десятичной системы счисления в двоичную осуществляется по следующему алгоритму:
Пример: Требуется перевести дробное десятичное число 206,116 в дробное двоичное число.
Перевод целой части дает 20610=110011102 по ранее описанным алгоритмам. Дробную часть 0,116 умножаем на основание 2, занося целые части произведения в разряды после запятой искомого дробного двоичного числа:
0,116 • 2 = 0,232
0,232 • 2 = 0,464
0,464 • 2 = 0,928
0,928 • 2 = 1,856
0,856 • 2 = 1,712
0,712 • 2 = 1,424
0,424 • 2 = 0,848
0,848 • 2 = 1,696
0,696 • 2 = 1,392
0,392 • 2 = 0,784
и т. д.
Таким образом 0,11610 ≈ 0,00011101102
Получим: 206,11610 ≈ 11001110,00011101102
Двоичная система используется в цифровых устройствах, поскольку является наиболее простой и соответствует требованиям:
В вычислительной технике широко используется запись отрицательных двоичных чисел в дополнительном коде. Например, число −510 может быть записано как −1012 но в 32-битном компьютере будет храниться как 111111111111111111111111111110112.
При указании линейных размеров в дюймах по традиции используют двоичные дроби, например: ¾″, 715/16″, 311/32″ и т. д.; реже используются десятичные дроби (например, калибры оружия: 3″ = 7,62 мм)[источник не указан 697 дней].
Двоичная система счисления является комбинацией двоичной системы кодирования и показательной весовой функции с основанием равным 2. Следует отметить, что число может быть записано в двоичном коде, а система счисления при этом может быть не двоичной, а с другим основанием. Пример: двоично-десятичное кодирование, в котором десятичные цифры записываются в двоичном виде, а система счисления — десятичная.