Page 25 - ЭВМ
P. 25
x = 7 00111
y = –5 11011
00010 – есть перенос в знаковый разряд;
x = –7 11001
y = 5 00101
11110 – переноса нет.
3. Третий случай – x < 0 и y ≥ 0 (см. случай 2).
4. Четвертый случай – x < 0 и y < 0. По определению дополни-
тельного кодирования для значащей части кода имеем:
n n n n
х
y
z =+ = 2 – |x| + 2 – |y| = 2 + 2 – (|x| + |y|).
n
Если (|x| + |y|) ≤ 2 , то переполнения разрядной сетки нет. В этом
n
n
случае значащая часть представлена в виде 2 – (|x| + |y|), 2 есть пере-
нос в знаковый разряд результата, значения знаковых разрядов x и y и
n
перенос 2 обеспечивают единичное значение знакового разряда ре-
зультата с фиксацией переноса из знакового разряда.
n
Если (|x| + |y|) > 2 , то будет переполнение разрядной сетки.
n
В этом случае перенос 2 в знаковый разряд результата отсутствует,
n
так как (2 – (|x| + |y|)) < 0. Значения знаковых разрядов x и y обеспечи-
вают нулевое значение знакового разряда результата с фиксацией пе-
реноса из знакового разряда.
Поэтому здесь правило определения наличия или отсутствия пе-
реполнения разрядной сетки имеет следующую формулировку: пере-
полнение разрядной сетки отсутствует, если есть одновременные пе-
реносы в знаковый разряд и из знакового разряда; переполнение раз-
рядной сетки присутствует, если нет переноса в знаковый разряд, а
есть перенос из знакового разряда.
Например:
x = –5 11011
y = –1 11111
11010 – «–6» в дополнительном коде;
x = –5 11011
y = –14 10010
01101 – результат неверный, переполнение.
Сложение чисел, представленных в обратном коде. Пусть
z’ = x’+y’. Рассмотрим 4 случая:
25