Курсовая работа: Деление двоичных чисел в прямом, обратном и дополнительном кодах
(G-) доп = 1, ε1, ε 2, … , ε n(4)
где
0, ε1, ε 2, … , ε n = 1 - 0, γ1, γ2, … , γn(4a)
Установим связь между самим отрицательным числом G- и числами (G-)обр и (G-)доп , представляющими его обратный и дополнительный коды.
Вычитая (1а) из (3), имеем:
(G-) обр - G-= 1, σ1, σ 2, … , σ n – ( - 0, γ1, γ2, … , γn) = 1,11…1 = 2 – 2-n (так как σi + γi= 1)
Следовательно,
(G-) обр = G-+ 2 - 2-n (4b)
Вычитая (1a) из (4), имеем:
(G-) доп - G- = 1, ε1, ε 2, … , ε n - ( - 0, γ1, γ2, … , γn) (5)
Учитывая (4a), получаем:
(G-) доп = G-+ 2 (5а)
Из (5) и (5а) следует:
(G-) доп = (G-) обр + 2-n
где n — число разрядов в числе. Таким образом, дополнительный код может быть получен из обратного путем добавления к нему единицы младшего разряда.
Рассмотрим представление нуля. В процессе вычислений могут возникнуть «положительный» и «отрицательный» нули:
+ 0,00…0 ; - 0,00…0
Представление «положительного» нуля одинаково для прямого, обратного и дополнительного кодов:
(+ 0) пр = 0,00…0
Отрицательный нуль изображается: в прямом коде
(- 0) пр = 0,00…0
в обратном коде
(- 0) обр = 1,11…1
в дополнительном коде
(- 0) доп = 1,11…1 + 2-n = 0,00…0
так как перенос из разряда знака теряется.
Используя обратный или дополнительный код, можно операции вычитания и сложения чисел различных знаков свести к арифметическому сложению кодов чисел.
Рассмотрим использование обратного кода при алгебраическом сложении двух двоичных чисел G и Q, когда одно из них или оба числа отрицательны. Для этого случая может быть сформулировано следующее правило (предполагаем, что модуль алгебраической суммы меньше единицы).
При алгебраическом сложении двух двоичных чисел с использованием обратного кода положительные слагаемые представляются в прямом коде, а отрицательные - в обратном и производится арифметическое суммирование этих кодов, включая разряды знаков, которые при этом рассматриваются как разряды целых единиц. При возникновении переноса из разряда знака единица переноса прибавляется к младшему разряду суммы кодов (такой перенос называется круговым или циклическим). В результате получается алгебраическая сумма в прямом коде, если эта сумма положительна, и в обратном коде, если она отрицательна.