67
Обычно в ЭВМ для деления используется другой
метод – деление без восстановления остатка.
Алгоритм деления с неподвижным делителем без
восстановления остатка можно разделить на следующие
этапы.
1. Берутся модули от делимого и делителя. В
счётчик циклов СчЦ устанавливается значение
разрядности регистров n.
2. Исходное значение частичного остатка полагается
равным старшим разрядам делимого двойной длины. Так
как число Х – одинарной длины, то первоначально
примем, что в старших разрядах делимого – 0 ( РгB = 0 ), а
в младших разрядах делимого - число Х ( Рг2= Х).
Младшая и старшая части делимого содержатся в разных
регистрах одинарной длины.
3. Частичный остаток удваивается путём сдвига на 1
разряд влево. При этом в освобождающийся при сдвиге
младший разряд частичного остатка заносится очередная
цифра делимого из разрядов младшей половины делимого
(из нулевого разряда Рг2[0]).
4. Если остаток положителен (См[0] = 0), то из
сдвинутого частичного остатка вычитается делитель. Если
68
же остаток отрицателен (См[0] = 1), то к сдвинутому
частичному остатку прибавляется делитель.
5. Если результат вычитания положителен (См[0] = 0),
то очередная цифра модуля частного равна 1 (Рг2’[n-1]:=1).
Если же результат вычитания отрицателен (См[0] = 1), то
очередная цифра модуля частного равна 0 (Рг2’[n-1]:=0).
6. Этапы 3, 4 и 5 последовательно выполняются для
получения всех цифр модуля частного.
7. Знак частного положителен, если знаки делимого
и делителя одинаковы, в противном случае –
отрицательный.
Алгоритм деления с восстановлением остатка
представлен на рис.2.21. Из алгоритма видно, что, пока не
определены все цифры частного (СчЦ ≠ 0), в зависимости от
знака частичного остатка либо подсуммируется делитель
(при См[0] = 1), либо вычитается делитель (при См[0] = 0). У
полученного нового частичного остатка анализируется знак
и по нему определяется цифра частного. По завершении
всех циклов деления (СчЦ = 0) выдаётся результат. При
этом, если остаток отрицателен (См[0] = 1), то он
восстанавливается путём подсуммирования делителя (см
блок 9 на рис. 2.21).