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

§ 5.4. Умножение чисел, представленных в форме с фиксированной запятой, на двоичном сумматоре дополнительного кода

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

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

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

(5.6)

На основании теоремы о сложении дополнительных кодов можно утверждать, что в правой части уравнения (5.6) стоит дополнительный код результата.

Таким образом, умножение на сумматоре дополнительного кода заключается в анализе разрядов множителя и при bi=1 в прибавлении дополнительного кода множимого к содержимому сумматора. При этом должны осуществляться модифицированные сдвиги.

Пример 5.3. Умножить на сумматоре дополнительного кода (используется метод 2) числа А = - 0,10101 и В = 0,10011.

Р е ш е н и е. Сначала записываются машинные изображения чисел: = 11,01011; =00,10011.

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

Ответ: С = АВ = - 0,0110001111.

Теперь рассмотрим случай, когда множимое А—любое число, а множитель В<0. Тогда.

На основании (3.24) можно записать, что В=[B]Д-2, или . Следовательно, произведение чисел

(5.7)

Таблица 5.3

Сумматор

Регистр В

Примечание

00,00000

10011

+11,01011

11,01011

11,10101

+11,01011

11,00000

11,10000

11,11000

11,11100

+11,01011

11,00111

11,10011

Конец.

Формула (5.7) показывает, что при отрицательном множителе произведение дополнительных кодов операндов не равно дополнительному коду результата. Если ввести замену -A на A, то можно вывести следующее правило.

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

Пример 5.4. Умножить на сумматоре дополнительного кода по методу 2 с использованием структурной схемы примера 5.1 числа A = - 0,10111 и В = - 0,11001.

Р е ш е н и е. Сначала запишем машинные изображения чисел: = 11,01001; = 11,00111; =00,10111.

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

Ответ: С = AВ = 0,1000111111.

Таблица 5.4

Сумматор

Регистр В

Примечание

00,00000

00111

+11,01001

11,01001

11,10100

+11,01001

10,11101

11,01110

+11,01001

10,10111

11,01011

11,10101

11,11010

+00,10111

00,10001

11111

Конец.