logo search
Методичка для бакалавров 2014

1.4.3.2 Двоичное вычитание

Вычитание в двоичной системе выполняется аналогично вычитанию в десятичной системе счисления. При необходимости, когда в некотором разряде приходится вычитать единицу из нуля, занимается единица из следующего старшего разряда. Если в следующем разряде нуль, то заем делается в ближайшем старшем разряде, в котором стоит единица. При этом следует понимать, что занимаемая единица равна двум единицам данного разряда, т. е. вычитание выполняется по следующему правилу:

Пример 1.4.3.2 Вычитание двоичных чисел и

11010,

1011

1101,

01111

1101,

00111

Конечно, математически вычитание выполнить несложно. Однако, если поступать таким образом, то к примеру в ЭВМ придется для выполнения сложения и вычитания иметь два блока: сумматор и вычитатель. Поэтому поступают следующим образом: вычитание можно представить как сложение положительного и отрицательного чисел, необходимо только подходящее представление для отрицательного числа.

Рассмотрим четырехразрядный десятичный счетчик, какие в автомобиле отсчитывают пройденный путь. Пусть он показывает число 2, если вращать его в обратном направлении, то сначала появится 1, затем 0, после 0 появится число 9999. Сложим, к примеру, 6 с этим числом:

+

6

9999

10005

Если пренебречь единицей переноса и считать 9999 аналогом –1, то получим верный результат: .

Число 9999 называется десятичным дополнением числа 1. Таким образом, в десятичной системе счисления отрицательные числа могут быть представлены в форме десятичного дополнения, а знак минус можно опустить.

Двоичное дополнение числа определяется как то число, которое будучи прибавлено к первоначальному числу, даст только единицу переноса в старшем разряде.

Пример 1.4.3.2 Двоичное дополнение числа

+

010101111

– число

101010001

– двоичное дополнение

1000000000

– сумма

 – единица переноса

Для получения двоичного дополнения необходимо:

+

101010000

– обратный код

1

101010001

– дополнительный код

Пример 1.4.3.2 Вычитание в дополнительном коде

–обратный код,

–дополнительный код.

1001012=510 (верно).