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