Деление чисел

Обозначим делимое буквой D, делитель - буквой d, промежуточные частичные остатки - ЧО.

В общих чертах процесс деления сводится к сложению ЧО и d, имея при этом в виду, что они различны по знаку, т.е. сложение в кодах отражает процесс вычитания, при котором d представляется либо в прямом, либо в дополнительном кодах. Количество операций вычитания повторяется до тех пор, пока младший разряд делителя нс сравняется с исходным младшим разрядом (ЧО).

Цифры часто определяются по следующему правилу: если очередной ЧО, полученный в результате сложения, положителен, то в соответствующий разряд часто заносится 1; если очередной ЧО отрицателен- заносится 0. Знак последнего остатка должен совпадать со знаком делимого. При их несовпадении производится восстановление остатка. В зависимости от знака остатка к нему прибавляется делитель в прямом или дополнительном коде.

В табл. 2.7 приведен порядок действий при делении двух чисел:

_Таблица 2.7

Порядок действий

Вычисления

Частное

1. Получение кодов исходных чисел. Предварительно выравниваем разрядность делимого и делителя в прямых кодах, увеличивая разрядность делителя до разрядности делимого

2. Получение первого ЧО путем вычитания из предыдущего ЧО делителя. Исходным ЧО является делимое D

0

3. Сдвиг ЧО на один разряд влево

4. Получение второго ЧО путем вычитания из предыдущего ЧО делителя. Значение делителя (в прямом или дополнительном коде) определяется по частичному остатку до сдвига - он должен иметь противоположный знак

0.0

5. Сдвиг ЧО на один разряд влево

6. Получение третьего ЧО и т.д. Вычислительный процесс продолжается до тех пор, пока младший разряд ЧО, отмеченный звездочкой (*), не совпадет с младшим разрядом делителя cl.

7. Восстановление остатка.

Значение разрядов ЧО старшей группы является остатком от деления.

В случае, если знак остатка не совпадет со знаком делителя, необходимо прибавить к нему делитель с противоположным знаком по отношению к последнему остатку. Сдвиг последнего ЧО перед восстановлением остатка не производится

8. Получение результата

0.1000(2) = = +8<Ю)

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >