Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
с. работа - Логика.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
2.16 Mб
Скачать

6.2. Сложение чисел в инверсных д-кодах

Д-коды могут быть представлены в разрядной сетке машины в форме либо с фиксированной, либо с плавающей запятой. При этом отрицательные числа могут быть представлены в прямом, обратном и дополнительном кодах. Поэтому, если

А = — 0, а1 а2...аn, где аi — тетрады, то

[А]пр= 1, а1 а2...аn;

[ А]0= 1, а1 а2...аn;

[ А]Д= 1, а1 а2...аn;

г де аi — дополнение до р — 1 = 9 во всех тетрадах; аn — дополнение до р = 10 в младшей тетраде.

С ледовательно, ап + ап= р = 10; аi. + аi = р - 1 = 9. Обрат­ный код Д2 получается простым инвертированием цифр тетрад.

Пример. Найти обратный и дополнительный коды числа А = —0,136 для кода Д2.

АД2= - 0,0100 0110 1001;

[AД2]0= 1,1011 1001 0110.

На основании соотношения получим дополнительный код числа А:

[AД2]Д= 1,1011 1001 0111.

В коде Д1 прямое инвертирование цифр тетрад означает полу­чение дополнения до 24 — 1 = 15. Поэтому для получения обратного кода числа в коде Д1 во все тетрады числа прибавляют вначале

+0110, после чего производится инвертирование цифр тетрад

Пример. Для числа А = —0,148 = —0,0001 0100 1000 получить обратный и дополнительный коды Д1.

0,0001 0100 1000

+

0110 0110 0110

0,0111 1010 1110.

Отсюда [AД1]0 = 1,1000 0101 0001;

[AД1]Д = 1,1000 0101 0010.

Отметим, что добавление 1 в младший разряд при получении дополни­тельного Д2 кода производится гораздо сложнее, чем в коде Д1, так как эта операция выполняется как обычное сложение в Д2 коде. При сложении в инверсных Д-кодах, как и при сложении в прямых Д-кодах. необходима коррекция результата, которая может осуществ­ляться либо программными, либо аппаратными средствами. На прак­тике обычно применяют второй способ. При этом в процессе выполнения коррекции цепи межтетрадного переноса в сумматорах блоки­руются для кода Д2, а при сложении в коде Д1 не блокируются.

Пример. Сложить в обратном и дополнительном кодах Д1 и Д2 числа

А = — 0,926 и В = + 0,845.

Для кода Д1

А = — 0,1001 0010 0110 и В = + 0,1000 0100 0101.

[A] 0= 1,0000 0111 0011

+

[В]0 = 0,1000 0100 0101

1,1000 1011 1000

+ 0110

[С] 0 = [A]0 + [B]0=0,1001 0001 1000

[С] пр = 1,0000 1000 0001,

[A] Д = 1,0000 0111 0100

+

[В]Д = 0,1000 0100 0101

1,1000 1011 1001

+ 0110

[С] Д =1,1001 0001 1001

[С] пр =1,0000 1000 0001