Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АЭВМ_лаб_4.doc
Скачиваний:
14
Добавлен:
01.12.2018
Размер:
487.42 Кб
Скачать

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

§ 5.5. Умножение чисел на двоичном сумматоре обратного кода

Рассмотрим правила умножения операндов, заданных в обратном коде.

Произведение обратных кодов сомножителей равно обратному коду результата только в случае положительного множителя.

Пусть множимое A=[A]об, а множитель В>0. Тогда

.

По теореме о сложении обратных кодов в правой части данного уравнения получается обратный код результата.

Следовательно, умножение на сумматоре обратного кода также заключается в анализе разрядов множителя, и если оказывается, что очередной разряд множителя равен единице, то к содержимому сумматора добавляется обратный код множимого.

Пример 5.5. Умножить на сумматоре обратного кода (структурная схема взята из примера 5.1) числа

A= - 0,10011 и B = 0,11001.

Р е ш е н и е. Сначала записываются машинные изображения чисел:

= 11,01100; =00,11001.

Последовательность действий, производимых над числами, представлена в табл. 5.5.

Ответ: =11,1000100100; С = AВ = - 0,0111011011.

Таблица 5.5

Сумматор

Регистр В

Примечание

11,11111

11001

+11,01100

11,01100

11,10110

11,11011

11,11101

+11,01100

11,01010

11,10101

+11,01100

11,00010

11,10001

Конец.

Пусть A=[A]об и В<0. Тогда . В соответствии с (3.28). Следовательно, .

(5.8)

На основании (5.8) можно сформулировать правило:

Если множитель отрицательный, то произведение чисел на сумматоре обратного кода получается прибавлением поправок [A] и к произведению обратных кодов сомножителей.

Пример 5.6. Умножить на сумматоре обратного кода (используется метод 2 и структурная схема из примера 5.1) числа A = - 0,110101 и В = - 0,101000.

Р е ш е н и е. Сначала записываются машинные изображения чисел:

=11,001010;

= 11,010111;

= 00,110101.

Последовательность действий, производимых над числами, показана в табл. 5.6.

Ответ: А В =00,100010.

Таблица 5.6

Сумматор

Регистр В

Примечания

11,111111

010111

+11,001010

Добавление в СМ, т.е.

11,001010

+11,001010

10,010101

11,001010

101011

+11,001010

10,010101

11,001010

110101

+11,001010

10,010101

11,001010

111010

11,100101

011101

+11,001010

10,110000

11,011000

001110

11,101100

000111

+00,110101

00,100010

Конец.

Таким образом, в общем случае на сумматоре обратного кода произведение получается сразу со знаком и длиной в п разрядов, так как на последнем шаге умножения прибавляются числа разных знаков, из-за чего нельзя к результату приписать так называемый «хвост», хранящийся в регистре множителя.