Арифметические действия с двоичными числами
Сложение. Для выполнения сложения применяются следующие правила:
Последнее выражение показывает, что при сложении двух единиц получается единица в более старшем разряде. В качестве примера рассмотрим сложение трех двоичных
чисел:
Точно так же выполняется сложение в ЭВМ, где для этой цели используются специальные устройства, называемые двоичными сумматорами.
Вычитание. Для выполнения вычитания применяются следующие правила:
Последнее выражение показывает, что для вычитания 1 из 0 необходимо занять 1 из более старшего разряда. В качестве примера рассмотрим вычитание двоичных чисел:
Для облегчения вычитания вводится понятие дополнения. Дополнением данного целого десятичного числа называют другое целое десятичное число, которое, будучи сложенным с первым, дает число, состоящее из единицы в более старшем разряде (по сравнению со старшим разрядом данного числа) и нулей в остальных разрядах.
Обозначив дополнение буквой d, получим, например, для числа 52: 52 + = 100; = 48.
Если, например, необходимо вычесть 52 из 95, то это можно сделать так:
95 + 100-52 -100 = 95 + -100 = 95 + 48-100 = 43.
Таким образом, справедливо следующее правило нахождения разности с использованием дополнения:
- 1. Определить дополнение вычитаемого.
- 2. Сложить полученное дополнение с уменьшаемым.
- 3. Из полученной суммы вычесть число, состоящее из единицы в старшем (по отношению к вычитаемому) разряде и нулей в остальных разрядах.
В двоичной системе действия точно такие же, но осуществляются гораздо проще. Дополнение двоичного числа определяют гак: заменяют все единицы нулями, все нули - единицами и к полученному результату прибавляют единицу в самом младшем разряде. Например, в числе 10011 заменяем единицы нулями, а нули единицами. Получаем число 01100 и к нему прибавляем 1. В итоге d = 1101.
В качестве примера найдем разность двух двоичных чисел 1010 и 101 по изложенному правилу.
- 1. Дополнение вычитаемого: 11.
- 2. Сложим уменьшаемое и дополнение:
3. Вычтя 1000, получим искомый результат:
Умножение. Для выполнения умножения применяются следующие правила:
В качестве примера рассмотрим умножение двух двоичных чисел:
Очевидно, что если имеется нуль в соответствующем разряде множителя, то можно не писать целую строку нулей, а сразу писать следующую строку, смещенную на разряд влево. Также очевидно, что умножение может быть заменено многократным сложением и сдвигом влево.
Деление. Так же, как умножение может быть заменено многократным сложением и сдвигом влево, деление может быть заменено многократным вычитанием и сдвигом вправо.
В качестве примера рассмотрим деление двух двоичных чисел:
Таким образом, в ЭВМ деление заменяется вычитанием и сдвигом, а для нахождения разности используется дополнение.