Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы к экзамену.docx
Скачиваний:
50
Добавлен:
28.06.2021
Размер:
681.96 Кб
Скачать

2. Деление без восстановления остатка

Недостаток алгоритма с восстановлением остатка заключается в необходимости выполнения на отдельных шагах дополнительных операций сложения для восстановления частичного остатка. Это увеличивает время выполнения деления, которое в этом случае может меняться в зависимости от конкретного сочетания кодов операндов. В силу указанных причин реальные делители строятся на основе алгоритма деления с неподвижным делителем без восстановления остатка. Данный алгоритм может быть описан следующим образом:

1) исходное значение частичного остатка полагается равным старшим разрядам делимого;

2) частичный остаток сдвигается на один разряд влево;

3) из сдвинутого частичного остатка вычитается делитель, если остаток положительный, и к сдвинутому частичному остатку прибавляется делитель, если остаток отрицательный;

4) очередной разряд частного равен единице, когда результат вычитания положительный, и нулю, если он отрицательный;

5) пункты 2-4 последовательно выполняются для получения всех разрядов частного.

Деление чисел со знаком

Как и в случае умножения, деление чисел со знаком может быть выполнено путем перехода к абсолютным значениям делимого и делителя, с последующим присвоением частному знака «плюс» при совпадающих знаках делимого и делителя либо «минус» – в противном случае. Остаток имеет знак делимого.

Деление чисел, представленных в дополнительном коде, можно осуществлять, не переходя к модулям. Рассмотрим необходимые для этого изменения в алгоритме без восстановления остатка.

Вопрос 10 Деление двоичных чисел в дополнительных кодах.

Вопрос 11 Ускоренные методы операции деления.

Вопрос 12 Извлечение корня из двоичных чисел.

Первая проверка – проверка числа на ноль и на отрицательное. Если число <0, то корень не извлекается.

Извлечение корня сводится к делению. На сумматор заносится число, корень из к-ого будем извлекать. Для чисел с плав. зпт. необходимо рассчитать порядок. Если он четный, то его нужно разделить на 2 (или его двоичный код сдвинуть вправо), если нечетный, то перед делением нужно прибавить единицу и сдвинуть не только порядок, но и мантиссу вправо.

Корень можно вычислять с восстановлением и без восстановления остатка. При этом всегда необходимо вычислять доп. цифру и производить округление.

1) С восстановлением остатка. Выполняется n+1 циклов, каждый цикл состоит из 3х тактов: из СМ вычитается делитель, сформированный из полученных цифр частного и приписки 01. Затем, если СМ<0, восстанавливается остаток (+делитель), а потом формируется цифра корня (начиная со старшей). Если СМ<0, то 0, иначе – 1. А так же производится сдвиг вправо результата.

2) Без восстановления остатка. Отличается только тем, что вместо восстановления остатка анализируется знак сумматора. Если он >0, то вычитается делитель, а если <0, то прибавляется. Если остаток положительный, то цифра частного 1 и приписка 01, если отрицательный, то цифра частного 0 и приписка 11.

!!! В обоих случаях, по окончании извлечения корня производится округление результата.