Сложение двоичных кодов со знаками


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

Пример.

+4-5=-1

 Сложение двоичных кодов со знаками

+5-4=+1

 Сложение двоичных кодов со знаками

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

Пример.

+4-5=-1

 Сложение двоичных кодов со знаками

+5-4=+1

 Сложение двоичных кодов со знаками

На практике обычно используют дополнительный, а не обратный код. Следует иметь в виду, что операции в обратном и дополнительном кодах могут иногда давать неверный результат из-за переполнения разрядной сетки, отводимой под модуль результата. Например к переполнению ведет сложение чисел +4+5=+9 при использовании четырехразрядных машинных кодов.

 Сложение двоичных кодов со знаками

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

Пример.

+4+5=+9

 Сложение двоичных кодов со знаками

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