Алгоритмы деления
Знак частного, как и знак произведения, не зависит от соотношения модулей операндов и определяется в зависимости от знаков операндов по выражению (3.25). Поэтому рассмотрим сначала процесс деления модулей двоичных чисел. Пусть A — делимое, B — делитель, C — частное, W — остаток. Очевидно, при представлении чисел с фиксированной запятой как дробных, должно соблюдаться условие
иначе C ≥1, что соответствует переполнению разрядной сетки. Процесс деления двоичных чисел может быть сведен к последовательности вычитаний и анализа знаков получающихся остатков. Сформулируем словесный алгоритм деления следующим образом: 1. Вычетают из делимого делитель. Если знак разности 0, то деление невозможно в силу нарушения условия (3.29), и следует, установив OV= 1, завершить операцию; иначе в разряд целой части частного записывают 0 (в конце операции в этот разряд помещается знак частного). 2. Так как остаток (разность A - В) оказался отрицательным, восстанавливают остаток путем добавления делителя к остатку. 3. Сдвигают восстановленный остаток влево на один разряд. 4. Вычитают из сдвинутого остатка делитель; если полученная разность положительна, то очередной цифрой частного становится 1, и следует перейти к п. 3; иначе очередная цифра частного — 0 и переходят к п. 2. Пункты 2 — 4 повторяют столько раз, сколько цифр требуется получить в частном. (Страница70) Пример 3.24 Деление дробных положительных чисел +(3/16): +(12/16)=+(1/4)=+(4/16) приведено на рис. 3.29. Рис. 3.29. Пример деления
|