Составители:
29
Полученный результат положителен и представлен в прямом коде:
[C]
пр
= [A]
доп
× [B]
доп
= (0.011000011)
2
= (195)
10
.
4.2. Умножение в дополнительных кодах без кор-
рекции
Наряду с традиционным методом умножения в дополнительных
кодах, требующим коррекции результата, достаточно широкое приме-
нение в ЭВМ находит метод Бута, при котором не требуется выпол-
нять коррекцию. Особенность метода состоит в выполнении сложения
или вычитания СЧП и множимого на каждом шаге
умножения в зави-
симости от того, как после сдвига вправо изменяется младший разряд
множителя. При его изменении с единицы на ноль производится сло-
жение СЧП с множимым, а при изменении с нуля на единицу – вычи-
тание множимого из СЧП, которое может быть реализовано как сложе-
ние с дополнением множимого. Если
младший разряд множителя при
сдвиге не изменяется, то на данном шаге не производится сложения
(вычитания), а выполняется только сдвиг СЧП и множителя вправо.
При реализации этого метода происходит чередование сложений и
вычитаний множимого и СЧП, вследствие чего старший разряд СЧП в
явном виде представляет его знак. При сдвиге СЧП вправо
значение
знакового разряда сохраняется (арифметический сдвиг).
Необходимо отметить, что:
а) При умножении на младшую единицу множителя производится
вычитание множимого из СЧП, поскольку считается, что происходит
изменение младшего разряда множителя с нуля на единицу.
б) При умножении на младшие нули множителя осуществляется
сдвиг нулевой СЧП и множителя вправо до появления
единицы в млад-
шем разряде множителя, после чего производится вычитание множи-
мого из СЧП.
Пример 2. A = 11, B = 15.
Представление операндов в разрядной сетке:
[+A]
пр
= 0.1011; [–A]
доп
= 1.0101;
[+B]
пр
= 0.1111; [–B]
доп
= 1.0001.
Страницы
- « первая
- ‹ предыдущая
- …
- 27
- 28
- 29
- 30
- 31
- …
- следующая ›
- последняя »