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