ВУЗ:
57
делитель | Y | относительно делимого | X | на n-1 разрядов
влево.
Если результат вычитания | X | - | Y’ | (это вычитание
называется пробным) больше 0, то | Z | ≥ 2
n-1
и деление
невозможно, если меньше 0, то можно выполнить деление.
Иными словами можно сказать, что если результат
пробного вычитания больше 0, то при данном делимом
делитель слишком мал и частное получается с
переполнением.
Рассмотрим пример деления. Пусть делимое X = -38
и делитель Y = + 7. Представим делимое и делитель в прямом
коде (старший разряд – знаковый, который в
отрицательных числах равен 1, а в положительных равен
0).
X
пр
= 10100110 и делитель Y
пр
= 0111. Тогда модуль
делимого | X | = 00100110 и модуль делителя | Y | = 0111 (для
получения модулей делимого и делителя в их старшие
разряды заносятся нули). Частное Z должно быть
представлено прямым кодом с 4 двоичными разрядами,
старший из которых отображает знак и в модуле частного
| Z | должен быть равен 0. Выполним деление | X | на | Y |
уголком:
58
В соответствии с правилами деления очередной
цифрой частного является 1, если после вычитания из
остатка делителя получается положительный результат,
и 0, если результат отрицателен. В последнем случае
восстанавливается остаток, который был до вычитания.
Затем делитель смещается на разряд вправо и процедура
повторяется. В рассматриваемом примере при
отрицательном результате пробного вычитания согласно
общему правилу фиксируется цифра частного Z
0
= 0 для
единообразия процедур деления. На её место после
завершения деления модулей заносится знак результата.
Так как знаки делимого X и делителя Y в примере
различны, то знак частного Z отрицателен, поэтому от | Z | =
0101 переходим к прямому коду Z
пр
= 1101.
Недостатком такого способа является двойная длина
сумматора и его регистров в АЛУ. Поэтому данный способ
не нашёл широкого распространения.
00100110 0111
0111 0101
(<0)
001001 – т.к. результат отрицателен, то
0111 восстанавливаем остаток
00101 (>0)
0111
(<0)
001010 – восстанавливаем остаток
0111
0011 (>0)- остаток от деления
пробное
вычитание
делитель | Y | относительно делимого | X | на n-1 разрядов 00100110 0111 пробное влево. вычитание 0111 0101 (<0) Если результат вычитания | X | - | Y’ | (это вычитание 001001 – т.к. результат отрицателен, то называется пробным) больше 0, то | Z | ≥ 2n-1 и деление 0111 восстанавливаем остаток 00101 (>0) невозможно, если меньше 0, то можно выполнить деление. 0111 (<0) Иными словами можно сказать, что если результат 001010 – восстанавливаем остаток 0111 пробного вычитания больше 0, то при данном делимом 0011 (>0)- остаток от деления делитель слишком мал и частное получается с переполнением. В соответствии с правилами деления очередной Рассмотрим пример деления. Пусть делимое X = -38 цифрой частного является 1, если после вычитания из и делитель Y = + 7. Представим делимое и делитель в прямом остатка делителя получается положительный результат, коде (старший разряд – знаковый, который в и 0, если результат отрицателен. В последнем случае отрицательных числах равен 1, а в положительных равен восстанавливается остаток, который был до вычитания. 0). Затем делитель смещается на разряд вправо и процедура Xпр = 10100110 и делитель Yпр = 0111. Тогда модуль повторяется. В рассматриваемом примере при делимого | X | = 00100110 и модуль делителя | Y | = 0111 (для отрицательном результате пробного вычитания согласно получения модулей делимого и делителя в их старшие общему правилу фиксируется цифра частного Z0 = 0 для разряды заносятся нули). Частное Z должно быть единообразия процедур деления. На её место после представлено прямым кодом с 4 двоичными разрядами, завершения деления модулей заносится знак результата. старший из которых отображает знак и в модуле частного Так как знаки делимого X и делителя Y в примере | Z | должен быть равен 0. Выполним деление | X | на | Y | различны, то знак частного Z отрицателен, поэтому от | Z | = уголком: 0101 переходим к прямому коду Zпр = 1101. Недостатком такого способа является двойная длина сумматора и его регистров в АЛУ. Поэтому данный способ не нашёл широкого распространения. 57 58
Страницы
- « первая
- ‹ предыдущая
- …
- 27
- 28
- 29
- 30
- 31
- …
- следующая ›
- последняя »