Переполнение при сложении в обратных кодах

Признаком переполнения разрядной сетки сумматора обратного кода является знак результата, противоположный знакам операндов.

Пример:

1).

А=0,0111, В=0,1101

Знак числа искажен.

Для устранения потерь от переноса единицы переполнения, в составе цифрового автомата должны быть предусмотрены дополнительные средства, позволяющие фиксировать и анализировать переполнения по их признакам с целью устранения искажения результата.

Чтобы фиксировать переполнения разрядной сетки в ДСПК, ДСОК, ДСДК, вводится вспомогательный разряд в знаковую часть изображения числа, который называют разрядом переполнения числа. Такое представление числа называется модифицированным (см. рисунок 8.1)

В машинном представлении чисел, представленных в модифицированном коде, используется (n+2) разряда: из них 2 знаковых, запятая опускается, устанавливается постоянный коэффициент формата Кф.

Пример: 1) А=0,1011,В=0,1010.

Здесь признаком переполнения является 1 в знаковом разряде. По этому признаку производится сдвиг числа вправо с одновременным увеличением коэффициента формата Кф на +1 и восстановлением (по значению Sg1) знака 00 числа, проверяется нормализация числа (наличие 1 после знака числа).

 

2) А=-0,1011, В=-0,1001. Преобразуем в машинную форму: Ампр.=11.1011, Вмпр.=11.1001. Так как оба числа отрицательны и операция сложения выполняется на сумматоре дополнительного кода, то в сумматор числа поступают в дополнительном коде.

 

Анализ разрядов знака результата (10) показал, необходимость восстановления его (11), сдвигая число вправо на один разряд, с одновременным увеличением коэффициента формата Кф на +1. Результат отрицательный, и поэтому, представлен в дополнительном коде. Поэтому, число преобразуется в прямой код через обратный с добавлением в младший разряд +1.