Случай 3. A > 0, B < 0, A + B < 0 . [A]ок + [B]ок = A + (2 + B - 2-n). Этот результат соответствует правильному, так как согласно условию X + Y < 0. Следовательно, [A + B < 0]ок = 2 + (A + B) - 2-n.
Случай 4. A < 0, B < 0, |A + B| < 1
[A]ок + [B]ок = (2 + A - 2-n ) + (2 + B - 2-n ) - предварительный результат.
Правильный результат [(A + B) < 0]ок = 2 + A + B - 2-n.
Сложение в дополнительном коде.
Рассмотрим четыре случая:
Х > 0, Y > 0, a X + Y < 1. Как и при обратном коде, суммирование дополнительных кодов не вносит каких-либо изменений в операцию сложения.
Х > 0, Y < 0 и Х + Y > 0.
[Х]дк + [Y]дк = X + (2 + Y) = 2 + (X + Y) – предварительный результат.
Правильный результат при Х + Y > 0 равен X + Y.
Выполняется коррекция, равная вычитанию 2 из предварительного результата (исключение в нем единицы с весом 21).
Методика выполнения операции не изменяется, когда [Х]дк + [Y]дк = 0.
Например,
То есть ноль в дополнительном коде ноль имеет единственное представление.
Достарыңызбен бөлісу: |