- •Лабораторная работа № 4 построение схем умножения чисел, представленных в форме с фиксированной запятой, на двоичных сумматорах Цель задания
- •Постановка задачи
- •Содержание отчета
- •Методические указания
- •§ 5.1. Методы умножения двоичных чисел
- •То умножение начинается со старшего разряда и в каждом такте сдвигается влево сумма частных произведений. Схема множительного устройства представлена на рис. 5.1,г.
- •При последовательном выполнении — в виде многократно повторяющегося по количеству разрядов цикла
- •§ 5.2. Умножение чисел, представленных в форме с фиксированной запятой, на двоичном сумматоре прямого кода
- •§ 5.3. Особенности умножения чисел, представленных в форме с плавающей запятой
- •При выполнении операции умножения может иметь место ряд особых случаев. Например:
- •§ 5.4. Умножение чисел, представленных в форме с фиксированной запятой, на двоичном сумматоре дополнительного кода
- •Таким образом, на сумматоре дополнительного кода в процессе перемножения машинных изображений операндов получаем одновременно знаковую и цифровую части произведения.
- •§ 5.5. Умножение чисел на двоичном сумматоре обратного кода
- •Варианты
§ 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 |
Конец. |