Деление двоичных кодов

Рассмотрим выполнение операции деления над числами, представленными в прямом коде.

Арифметическая операция деления выполняется в два этапа. На первом этапе, как при умножении, формируется знак частного путем сложения по модулю 2 знаков операндов. Одновременно с этим определяется порядок частного (при делении чисел в машинах с плавающей запятой) как разность порядка делимого и порядка делителя. При этом возможно переполнение сумматора порядков, которое следует интерпретировать так же, как и при выполнении нормализации результата сложения двух чисел. На втором этапе выполняется деление модуля мантиссы делимого на модуль мантиссы делителя, которое в общем виде представляет собой циклическое вычитание делителя из удвоенного очередного частичного остатка. Для определения n цифр частного необходимо выполнить n циклов деления, при этом в каждом цикле определяется очередная цифра частного в зависимости от знака очередного частичного остатка.

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

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








Дата добавления: 2014-12-27; просмотров: 970;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.