Для упрощения арифметических операций вся информация в ЭВМ кодируется. При этом используют прямой, обратный и дополнительный коды.
Прямой код. Число x в прямом коде, обозначается символически [x]пр . Например:
Прямой код положительного числа x= 0,1101101 равен [x]пр=0,1101101.
Прямой код отрицательного числа x= - 0,1101101 равен [x]пр=1,1101101.
Обратный код. Для получения обратного кода необходимо в дробной части вместо 1 записать 0 и наоборот. Например:
Обратный код положительного числа x= 0,1101101 равен [x]пр=0,0010010.
Обратный код отрицательного числа x= - 0,1101101 равен [x]пр=1,0010010.
Дополнительный код. Для получения дополнительного кода необходимо взять обратный код и добавить единицу в младший разряд. Например:
Дополнительный код положительного числа x= 0,1101101 равен [x]пр=0,0010011.
Дополнительный код отрицательного числа x= - 0,1101101 равен [x]пр=1,0010011.
При использовании обратных и дополнительных кодов операции вычитания заменяются операциями сложения. x1 - x2 = x1 +[-x2 ].
В табл. 2 приведены коды заданных чисел.
Таблица 2
Число
Прямой
код
Обратный
код
Дополнительный код
-0,5
1,100
1,011
1,100
-0,25
1,010
1,101
1,110
-0.125
1,001
1,110
1,111
-0,625
1,101
1,010
1,011
-0,375
1,011
1,100
1,101
-0,750
1,110
1,001
1,010
Сложение в обратном коде. Если в процессе сложения в обратном коде получается единица переноса мантиссы в знаковый разряд, то эта единица добавляется к младшему разряду суммы. Эта операция называется циклическим переносом. Результат выполнения операции суммирования получается переводом обратного кода суммы в прямой код. Пример 3.9. Выполнить сложение.
Сложение в дополнительном коде. Правила сложения в дополнительном коде аналогичны правилам сложения в обратном коде без учета единицы переноса. Пример 3.10. Выполнить сложение.