Архитектура базовой ЭВМ. Кириллов В.В. - 53 стр.

UptoLike

Составители: 

50
Так как перенос из старшего разряда не учитывается, то
результат суммирования равен 0, что подтверждает правильность
преобразования.
В заключение отметим еще одну особенность дополнительного
кода двоичных чисел: их старший бит выполняет функцию знака
числа, т. е. равен 0 для положительных чисел и 1 для их
дополнений (отрицательных чисел). Поэтому старший разряд ячеек
памяти и регистров, которые могут хранить такие числа, обычно
называют знаковым разрядом.
Сложение целых двоичных чисел со знаком. Выполняется
оно по тем же правилам и с помощью той же команды ADD, что и
для чисел без знака. Примеры сложения целых чисел X и Y в целях
получения суммы Z приведены в табл. 2.6.
В двух случаях (втором и четвертом) ограниченная разрядность
чисел приводит к искажению не только величины, но и знака
результата. Исправить положение можно, добавляя к результату (или
вычитая из него) число 2
16
= 65536, но для этого надо переходить к
размещению результата в двух словах.
Таблица 2.6
Различные случаи сложения двоичных чисел со знаком
Случай
Слагаемые и результат
Комментарии
1
X>0, Y>0, X+Y < 2
15
0 000 0110 0011 1010 X=+ 1594
0 100 0100 1001 1011 Y=+17563
0 100 1010 1101 0101 Z=+19157
Результат корректный
2
X>0, Y>0, X+Y 2
15
0 100 0100 1001 1011 X=+17563
0 100 0010 1101 0101 Y=+19157
1 000 1111 0111 0000 Z=28816
При сложении
положитель-ных чисел
получен отрицательный
результат
ПЕРЕПОЛНЕНИЕ!
3
X<0, Y<0, X+Y < 2
15
1 111 1001 1100 0110 X= 1594
1 011 1011 0110 0101 Y=17563
1 1 001 0101 0010 1011 Z=19157
Результат корректный.
Перенос из старшего раз-
ряда не учитывается
4
X<0, Y<0, X+Y > 2
15
1 011 1011 0110 0101 X=17563
1 011 0101 0010 1011 Y=19157
1 0 111 0000 1001 0000 Z=+28816
При сложении
отрицатель-ных чисел
получен положительный
результат
ПЕРЕПОЛНЕНИЕ!
5
X>0, Y<0, X>Y
0 100 0100 1001 1011 X=+17563
1 111 1001 1100 0110 Y= 1594
0 011 1110 0110 0001 Z=+15969
Результат корректный.
Перенос из старшего раз-
ряда не учитывается
6
X>0, Y<0, X<Y
0 000 0110 0011 1010 X=+ 1594
1 011 1011 0110 0101 Y=17563
1 100 0001 1001 1111 Z=15969
Результат корректный