Page 26 - ЭВМ
P. 26
1. Первый случай – x ≥ 0 и y ≥ 0. Здесь доказательство анало-
гично доказательству для сложения чисел, представленных в допол-
нительном коде.
2. Второй случай – x ≥ 0, y < 0. По определению обратного коди-
n
рования для значащей части кода имеем: z’ = |x| + 2 – |y| – 1 =
n
a) 2 + (|x| – |y|) – 1, если |x| ≥ |y;
n
б) 2 – (|y| – |x|) – 1, если |x| < |y|.
Для случая «а» результат операции сложения положительный.
n
Перенос 2 в знаковый разряд результата и значения знаковых разря-
дов x и y обеспечивают нулевое значение знакового разряда результа-
та. Код значащей части следует скорректировать посредством при-
бавления к младшему разряду результата циклического переноса из
знакового разряда результата.
Для случая «б» результат операции сложения отрицательный,
поэтому значащая часть представлена в коде, соответствующем об-
n
ратному коду, перенос 2 в знаковый разряд результата отсутствует,
и значения знаковых разрядов x и y обеспечивают единичное значение
знакового разряда результата.
Например:
x = 5 00101
y = –2 11101
1 00010
1
00011 –«3».
3. Третий случай – x < 0, y ≥ 0 (см. случай 2).
4. Четвертый случай – x < 0, y < 0. По определению обратного
n
кодирования для значащей части кода имеем: z’ = x’ + y’ = 2 – |x| – 1 +
n
n
n
+ 2 – |y| – 1 = 2 + [2 – (|x| + |y|) – 1] – 1 – результат в дополнительном
коде, который также корректируется с помощью циклического пере-
носа.
n
n
Если (|x| + |y|) < 2 , то переполнения разрядной сетки нет, 2 есть
перенос в знаковый разряд результата. Значения знаковых разрядов x
n
и y и перенос 2 обеспечивают единичное значение знакового разряда
результата с фиксацией переноса из знакового разряда. Код значащей
части следует скорректировать посредством прибавления к младшему
разряду результата циклического переноса из знакового разряда
результата.
n
Если (|x| + |y|) > 2 , то будет переполнение разрядной сетки.
Например:
26