Составители:
21
Сначала обнулим СЧП
нач
. Если этого не сделать, то возможен случай,
когда СЧП
нач
будет иметь ненулевое значение, и результаты операций с
самого начала окажутся неверными. Обратимся к формуле (*).
B = (((((((((0 + b
0
)×2
-1
+ b
1
)×2
-1
+ b
2
)×2
-1
+ b
3
)×2
-1
+ b
4
)×2
-1
+ b
5
)×2
-1
+ b
6
)×2
-1
+ b
7
)×2
-1
)×2
8
Здесь b
7
, b
6
, …, b
0
– разряды множителя, пронумерованные справа налево.
Для получения СЧП
i
сдвигаем СЧП
i-1
на 1 разряд вправо и прибавля-
ем к нему результат перемножения множимого A и b
i
. Продолжаем выпол-
нять эти действия до тех пор, пока i не станет равным 7 (т.к. множимое и
множитель – 8-разрядные).
Вычислив СЧП
7
= СЧП
6
×2
-1
+ A×b
7
, можем получить из нее СЧП,
сдвигая CЧП
7
вправо на единицу и домножая полученное значение на 2
8
(другими словами, сдвигая его на 8 разрядов влево) для получения целого
числа.
3.2.3 Особенности используемого метода умножения
Используемый в данном задании метод умножения базируется на
представлении положительных операндов в прямом, а отрицательных – в
дополнительном кодах.
Достоинства этого метода:
а). Не требуется преобразовывать операнды и результат из дополнительно-
го кода в прямой
код и обратно.
A>0, B>0 C
пр
= A
пр
×B
пр
A<0, B>0 C
доп
= A
доп
×B
пр
A>0, B<0 C
доп
= A
пр
×B
доп
A<0, B<0 C
пр
= A
доп
×B
доп
б) Результат имеет не 14, а 15 числовых разрядов, что повышает точность.
в) Положительный результат операции представляется в прямом коде, а
отрицательный – в дополнительном.
3.2.4 Замечания по реализации метода
3.2.4.1 Использование беззнаковых переменных
Особенностью использованного метода является то, что знаковые
разряды используются в операции умножения наряду с цифровыми, т.е.
фактически в умножении
участвуют беззнаковые положительные операн-
ды.
Например:
1). Один из операндов равен +15. Его двоичное представление в 8-битовом
коде:
Участвующий в операции умножения операнд в десятичном беззнаковом
представлении 15.
00001111
Страницы
- « первая
- ‹ предыдущая
- …
- 20
- 21
- 22
- 23
- 24
- …
- следующая ›
- последняя »