IV.3.8
Умножение с
два разряда
едновременно
по
алгоритъма
на Бут
Умножението
на числа,
представени
в допълнителен
код, на два
разряда
едновременно
по
алгоритъма
на Бут, се
извършва
последователно,
според
таблица IV.4, в
която са
определени
операциите
за всеки отделен
случай. Методът е
изложен в книга
[1].
Таблица
IV.4
|
|
|
Операция |
0 |
0 |
0 |
+ 0 |
0 |
0 |
1 |
+ Мн |
0 |
1 |
0 |
+ Мн |
0 |
1 |
1 |
+ 2.Мн |
1 |
0 |
0 |
- 2.Мн |
1 |
0 |
1 |
- Мн |
1 |
1 |
0 |
- Мн |
1 |
1 |
1 |
+ 0 |
За
реализация
на този
алгоритъм
следва да се
съхранява
старшата
цифра от
предидущата
двойка
разряди на
множителя.
Изместването
след всяка
операция е на
два разряда
едновременно,
при това се
изпълнява
като чисто
аритметическо
спрямо левия
бит на знаковата
двойка. Суматорът,
който
реализира
междинните
суми, е
разширен
отляво с един
допълнителен
разряд, тъй
като са
възможни
операции с
удвоеното
множимо.
ПРИМЕР
81. Да
се изпълни
операция умножение Z=X.Y на числата X=27 и Y=27, които са
представени
в разрядна
мрежа с дължина
n=8[b], по
метода с два
разряда
едновременно
по Бут.
ПРИМЕР
82. Да
се изпълни
операция умножение Z=X.Y
на числата X=118 и Y=-98,
които са
представени
в разрядна мрежа
с дължина n=8[b], по
метода с два
разряда
едновременно
по Бут.
ПРИМЕР
83. Да
се изпълни
операция умножение Z=X.Y
на числата X=98 и Y=-118, които са
представени
в разрядна
мрежа с дължина n=8[b], по
метода с два
разряда
едновременно
по Бут.
Следващият
раздел е: