
 
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).