Составители:
44
б). Промежуточная коррекция остатка
Такую коррекцию нужно выполнять тогда, когда на текущем шаге
деления получается нулевой остаток.
Особый случай коррекции остатка имеет место при выполнении трех
условий:
1) наличие нулевого промежуточного остатка на каком-либо шаге
деления,
2) отрицательное делимое,
3) отрицательный окончательный остаток.
При выполнении этих условий делается попытка скорректировать
полученный остаток. Для этого сравниваются модули окончательного
остатка и делителя. При их совпадении производится коррекция остатка по
общему правилу. Если в результате коррекции остаток получается нуле-
вым, он является правильным. При получении ненулевого остатка он вос-
станавливается путем сложения с делителем (при положительном делите-
ле) или с его дополнением (при
отрицательном делителе).
4.2.4.6 Коррекция частного
Эта коррекция выполняется, если получен нулевой остаток при от-
рицательном делимом. Выполняя коррекцию частного, следует:
а). Если делитель положительный, вычесть единицу из отрицатель-
ного частного.
б). Если делитель отрицательный, прибавить к положительному
частному.
4.2.4.7 Результат деления
В качестве результата при делении формируются два значения: част-
ное и
остаток. Частное составляют 8 младших разрядов результата коррек-
ции частного, а остаток берется из 8 старших разрядов предыдущего шага -
коррекции остатка.
4.3 Особенности реализации алгоритма деления
Нужно сформировать следующие 16-разрядные беззнаковые пере-
менные (далее такие переменные будут заключаться в квадратные скобки)
(см. табл. 4.1):
Таблица 4.1
Обозначение
Роль
переменной
[A] делимое
[B] вспомогательная переменная для проверки корректно-
сти деления
[B1] В × 2
n
[B2] (дополнение B) × 2
n
[КОР_R_1],
[КОР_R_2]
вспомогательные переменные для коррекции частного
Страницы
- « первая
- ‹ предыдущая
- …
- 43
- 44
- 45
- 46
- 47
- …
- следующая ›
- последняя »