ВУЗ:
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
- …
- следующая ›
- последняя »