Выполнение арифметических операций над числами, представленными в дополнительных кодах

При выполнении арифметических операций в компьютере обычно применяются не простые, а модифицированные коды. Модифицированный код отличается от простого использованием для изображения знака числа двух разрядов. Второй знаковый разряд служит для автоматического обнаружения ситуации пере­полнения разрядной сетки: при отсутствии переполнения оба знаковых разряда должны иметь одинаковые цифры (нули или единицы), а при переполнении раз­рядной сетки цифры в них будут разные. При переполнении результат сдвигается вправо на один разряд.

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

Х= -1101; F= 1001. Результат сложения: 11,0011 + 00,1001 = 11,1100 (или -0100);

Х = 1101; Y" 1001. Результат сложения: 00,1101 + 00,1001 = 01,0110 (переполнение, после сдвига вправо получим 00,10110, или +10110);

Q Х= 1101; F= -1001. Результат сложения: 00,1101 + 11,0111 = 100,0100 (или 00,0100);

Х= -1101; Y = -1001. Результат сложения: 11,0011 + 11,0111 = 10,1010

(переполнение, после сдвига вправо получим 11,01010, или -10110)