1. Двоичная система счисления
В этой системе счисления для представления любого разряда двоичного числа достаточно иметь один физический элемент только с двумя резко различимыми устойчивыми состояниями, одно из которых изображает 1, другое — 0 (это, в свою очередь, обеспечивает высокую надежность представления чисел при минимальной сложности оборудования);
К достоинствам двоичной системы также относятся:
простота выполнения арифметических и логических операций и, как следствие, простота устройств, реализующих эти операции;
возможность использования аппарата алгебры логики для анализа и синтеза операционных устройств.
Неудобством двоичной системы счисления является ее громоздкость по сравнению с десятичной для использования человеком и необходимость преобразования десятичных чисел в двоичные и наоборот. Однако учитывая то обстоятельство, что многие математические задачи требуют сравнительно небольшого количества исходных данных по сравнению с объемом вычислений, этот недостаток становится несущественным.
Для двоичной системы счисления правила выполнения арифметических операций над двоичными числами остаются такими же, как и для десятичной системы счисления. Основой выполнения арифметических операций являются следующие таблицы сложения, вычитания и умножения одноразрядных чисел:
Таблица 9
-
Таблица а
Таблица б
Таблица в
0 + 0 = 0
0 – 0 = 0
0 х 0 =0
0 + 1 = 1
1 – 0 = 1
0 х 1 = 0
1 + 0 = 1
1 – 1 = 0
1 х 0 = 0
1 + 1 = 0 + единица переноса в старший разряд
10 – 1 = 1 ( с учетом заема единицы в старшем разряде)
1 х 1 = 1
Сложение двух чисел в двоичной системе можно выполнить столбиком, начиная с младших разрядов. При этом в каждом разряде складываются две цифры одноименных разрядов (в соответствии с табл. 9) и единицы переноса из соседнего младшего разряда, если он имел место. В результате сложения получим цифру соответствующего разряда суммы и возможную единицу переноса в старший соседний разряд.
Сложение чисел 22 и 31 в двоичной системе идет следующим образом:
1-е слагаемое 10110(2) = 22(10)
2-е слагаемое 11111(2) = 31(10)
110101(2) = 53(10)
Вычитание чисел, как и сложение, также выполняется столбиком (в соответствии с табл. б). Особым случаем является тот, когда необходимо занимать единицу из соседнего старшего разряда, которая равна двум единицам данного разряда.
Умножение двоичных многоразрядных чисел осуществляется последовательным сложением частичных произведений, каждое из которых (в соответствии с табл. е) равно множимому, сдвинутому на соответствующее число разрядов, если в разряде множителя стоит единица, или нулю, если в разряде множителя стоит ноль.
Пример. 1101(2) = 13(10)
1011(2) = 11(10)
1101 13
1101 13
100111
0000
100111
1101
10001111(2) = 143(10)
Деление двоичных чисел производится аналогично делению десятичных чисел, но с учетом специфики операции вычитания двоичных чисел. Положение занятой результата умножения и деления определяется так же, как и для десятичных чисел.
Деление производится так же, как в десятичной системе.
Пример. 10010111 1011
Отделим в делимом пять цифр, так как четыре цифры дадут числа меньше делителя. Делитель в нем содержится один раз. Вычтем делитель из делимого и найдем остаток.
10010111 1011
1011
0111
Сносим единицу, получаем 1111. Затем, считая остаток делимым, продолжаем деление. В итоге получим: 10010111 1011
1011 1101
01111
01011
010011
01011
01000
В десятичной системе счисления имеем:
151(10) 11(10),
11 13
41
33
8
т. е. разделив 10010111(2) = 151(10) на 1011(2) = 11(10), получим в частном 1101(2) = 13(10) и в остатке 1000(2) = 8(10).
Вообще говоря, в машине производится сдвиг не частичного произведения, а делимого (так же, как в десятичных вычислительных машинах типа арифмометр).