Составители:
24
3.3 Особенности реализации алгоритма умножения
Нужно сформировать следующие 16-разрядные беззнаковые пере-
менные (далее такие переменные будут заключаться в квадратные скобки)
(см. табл. 3.3):
Таблица 3.3
Обозначение Роль переменной
[A] множимое
[B] множитель
[ЧП] частное произведение
[СЧП] сумма частных произведений
[КОР1] вспомогательная переменная для коррекции первого вида
[КОР2] вспомогательная переменная для коррекции второго вида
Будем рассматривать эти беззнаковые переменные как дробные числа, у
которых старшие байты являются целой частью, а младшие – дробной.
[A] В целую часть (старший байт) заносим значения 8-ми разрядов
множимого A (см. п. 3.2.4.1), а дробную часть (младший байт) за-
полняем нулями.
[B] В младший байт заносим значения 8-ми разрядов множителя
B
(см. п. 3.2.4.1), а старший байт заполняем значениями знакового
разряда множителя (если множитель положительный – нулями,
если отрицательный – единицами).
[СЧП] Изначально в старший байт заносим значения 8-ми разрядов
множимого A, а в младший байт - значения 8-ми разрядов мно-
жителя B (см. п. 3.2.4.2). Это можно сделать, например, с помо-
щью операции
[СЧП
нач
] = [B].
[ЧП] Вычисляем по формуле [ЧП
i
] = [A] b
i
. Так как разряд множите-
ля b
i
может принимать только два значения (0 или 1), [ЧП
i
] = [0]
или [ЧП
i
] = [A].
[КОР1] В старший разряд заносим значение старшего разряда [A] (0, если
множимое положительное и 1, если отрицательное). Остальные
15 разрядов заполняем нулями.
[КОР2] Значение зависит от знака множителя. Если множитель отрица-
тельный, в старший байт заносим дополнение A, а младший байт
заполняем нулями. Иначе все 16 разрядов заполняем нулями.
При
умножении отрицательного множимого на младшие нули четно-
го множителя сдвиг СЧП
i
осуществляется обычным образом (т.е. в освобо-
дившийся старший разряд СЧП
i
заносится 0) (см. пример 3.4.2).
На каждом i-м шаге операции (начиная с i = 1) в качестве СЧП
i-
1
берется ее преобразованное (сдвинутое и скорректированное) на
предыдущем шаге значение.
Соответствующие значения и обозначения выделены в приме-
рах полужирным шрифтом.
Страницы
- « первая
- ‹ предыдущая
- …
- 23
- 24
- 25
- 26
- 27
- …
- следующая ›
- последняя »