Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЦУМП лекция рус.doc
Скачиваний:
296
Добавлен:
09.02.2016
Размер:
4.68 Mб
Скачать

Деление чисел с фиксированной запятой

При делении по заданному делимому А и делителю В определяется частное C=A/B. Очевидно, чтоВ0, так как деление на нуль не имеет смысла. Вследствие того, что в цифровой машине с фиксированной запятой наиболее часто применяется такое представление числа, когда оно меньше единицы[Х]<1, то на делимое, делитель и частное накладываются дополнительные ограничения:А<1, В<1, С<1. Из последнего неравенства следует, что должно бытьА<В.

Если результат деления из-за соотношений величины делимого и делителя получается больше единицы, то операция не выполняется. При этом вырабатывается сигнал "Переполнение" или "Ошибка". При делении чисел в прямых кодах в операции участвуют модули делимого и делителя. Знак частного (как и при умножении) может быть определен как сумма по модулю 2 знаков делимого и делителя, а модуль частного как частное от деления модуля делимого на модуль делителя.

Процесс деления состоит из последовательности операций вычитания делителя вначале от делимого, а затем из образующихся остатков, предварительно сдвинутых на каждом шаге деления влево на один разряд. Если очередной остаток положительный, то в разряд частного записывается единица; если остаток отрицательный - нуль. Процесс вычитания повторяется, количество повторений определяется разрядностью частного.

В зависимости от того, какие действия производятся после получения очередного отрицательного остатка для определения следующего значения разряда частного, различают методы деления с восстановлением и без восстановления остатков.

При первом методе предыдущий остаток восстанавливается путем суммирования делителя У к отрицательному остатку, т.е.(+У). Для получения очередного разряда частного восстановленный остаток сдвигается на один разряд влево (т.е. удваивается), и из него вычитается делитель:2·(+У)-У.

При втором методе отрицательный остаток сдвигается на один разряд влево, и к нему прибавляется делитель:2+У, т.к.2(+У)-У=2+У.

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

1) деление без восстановления остатков со сдвигом делителя при неподвижном остатке от деления;

2) деление без восстановления остатков со сдвигом остатков влево при неподвижном делителе.

Для реализации первого варианта требуются2n - разрядный регистр делителя со сдвигом вправо и2n - разрядный сумматор,(n+1) - разрядный регистр частного со сдвигом влево и схема управления.

Для реализации второго варианта потребуетсяn - разрядный регистр делителя,(n+1) разрядный регистр частного со сдвигом влево,n - разрядный сумматор со сдвигом влево и схема управления.

Анализ вариантов схем деления показывает, что второй вариант является более экономичным по сравнению с первым.