Умножение на 2 разряда Мт в дополнительных кодах

i i+1 i i+1
       
       
+4MH -MH +4MH -2MH
 

В отличие от умножения в прямых кодах преобразованию подвергается не только пара 11, но также и пара 10. Это позволяет упростить анализ кода и формирование преобразованного множителя.

Таблица 2.

I ая пара i+1 ая пара Преобраз. Пара Алгоритм
х y z - x’ y’ A Г
               
               
               
               
1              
1              
1              
               

В табл. 2 приведены преобразования i и i+1 пары МT.действия, осущестляемые при выполнении, например, алгоритмов А и Г.

(1) (6)

(2) (7)

(3) (8)

(4) (9)

(5) (10)

Если i+1 пара имеет старшую цифру 1, то умножение на эту пару будет соответствовать вычитанию одного или двух множителей.

Рис. 9. Логическая схема формирования сигнала сдвига частичной суммы.

Как было показано выше, при умножении чисел в дополнительных кодах в общем случае необходимо вводить поправку для получения верного произведения. Однако при умножении на два разряда множителя этого выполнять не требуется. Если на умножение приходит отрицательный множитель, то при преобразовании его старшей пары происходит формирование дополнительной пары:

Мт = -10110

[Мт]доп= 1.0 10 10

[Мт]допп= 01 01 01 10

При умножении на дополнительную пару (01) происходит вычитание одного множителя, а затем он должен быть добавлен в качестве поправки. Таким образом тратится два такта на выполнение взаимноисключающих операций.

Пример:

Мн = + 0101 умножение выполним согласно

MT = + 1100111 алгоритма Г.

[MH]доп = 0.0101

[MT]доп = 0.1 10 01 11

Анализ пар МT можно производить, начиная от старших (при умножении по алгоритмам В и Г) и от младших разрядов (алгоритмы А и Б).

= 10 10 10 01

[-2Mн]доп = 1.0110 [2Mн]доп = 0.1010

0.0000 00000000

0. 00 10 10000000 = 2MH∙2-2

0.0010 10000000

1. 1111 01100000 = -2MH∙2-4

0.0001 11100000

0. 0000 00 101000 = 2MH∙2-6

0.0010 00001000

1. 1111 1111 1011 = -MH∙2-8

0.0010 00000011 = [Mн Mт]доп

Пример:

Mн= - 0101 умножение выполним согласно

Mт = -1100111 алгоритма Б.

[Mн]доп = 1.1011

[Mт]доп = 1.0 01 10 01

= 1.0 10 10 01

[2Mн]доп = 1.0110 [-2Mн]доп = 0.1010

0.000000 0000

1.111111 1011 = MH

1.111111 1011

0.000010 10 00 = -2MH ∙ 22

0.000010 0011

1.110110 0000 = 2MH ∙ 24

1.111000 0011

0.1010 00 0000 = -2MH ∙ 26

0.100000 0011 =MH MT


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: