Вычитание в двоичной системе выполняется аналогично вычитанию в десятичной системе счисления. При необходимости, когда в некотором разряде приходится вычитать единицу из нуля, занимается единица из следующего старшего разряда. Если в следующем разряде нуль, то заем делается в ближайшем старшем разряде, в котором стоит единица. При этом следует понимать, что занимаемая единица равна двум единицам данного разряда, т.е. вычитание выполняется по следующему правилу:
Пример. Вычитание двоичных чисел и
- | 11010, | |||
1101, | ||||
1101, | ||||
Конечно, математически вычитание выполнить несложно. Однако, если поступать таким образом, то к примеру в ЭВМ придется для выполнения сложения и вычитания иметь два блока: сумматор и вычитатель. Поэтому поступают следующим образом: вычитание можно представить как сложение положительного и отрицательного чисел, необходимо только подходящее представление для отрицательного числа.
Рассмотрим четырехразрядный десятичный счетчик, какие в автомобиле отсчитывают пройденный путь.
Пусть он показывает число 2, если вращать его в обратном направлении, то сначала появится 1, затем 0, после 0 появится число 9999. Сложим, к примеру, 6 с этим числом:
+ | ||||
Если пренебречь единицей переноса и считать 9999 аналогом -1, то получим верный результат:.
Число 9999 называется десятичным дополнением числа 1.
Таким образом, в десятичной системе счисления отрицательные числа могут быть представлены в форме десятичного дополнения, а знак минус можно опустить.
Двоичное дополнение числа определяется как то число, которое будучи прибавлено к первоначальному числу, даст только единицу переноса в старшем разряде.
Пример. Двоичное дополнение числа
+ | - число | ||
- двоичное дополнение | |||
- сумма | |||
- единица переноса | |||
Для получения двоичного дополнения необходимо:
получить обратный код, который образуется инвертированием каждого бита:
- число | ||
- обратный код | ||
прибавить к обратному коду единицу, образовав таким образом дополнительный код:
+ | - обратный код | ||
- дополнительный код | |||
Пример. Вычитание в дополнительном коде
- обратный код,
- дополнительный код.
1001012=510 (верно).
Двоичное умножение
Умножение двух двоичных чисел выполняется так же, как и умнож ение десятичных. Сначала получаются частичные произведения и затем их суммируют с учетом веса соответствующего разряда множителя.
Отличительной особенностью умножения в двоичной системе счисления является его простота, обусловленная простотой таблицы умножения. В соответствии с ней, каждое частичное произведение или равно нулю, если в соответствующем разряде множителя стоит нуль, или равно множимому, сдвинутому на соответствующее число разрядов, если в соответствующем разряде множителя стоит единица. Таким образом, операция умножения в двоичной системе сводится к операциям сдвига и сложения.
Умножение производится, начиная с младшего или старшего разряда множителя, что и определяет направление сдвига. Если сомножители имеют дробные части, то положение запятой в произведении определяется по тем же правилам, что и для десятичных чисел.