Основные алгоритмы деления в вычислительных машинах

 

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

В операциях вычитания используется дополнительный код. Вычитание заменяется сложением. Тогда частичный остаток может получиться положительным или отрицательным.

 

Два алгоритма деления:

1) деление с восстановлением частичного остатка

2) деление без восстановления частичного остатка

 

Первый из этих алгоритмов используется редко.

 

 

Заносим в сумматор делимое, а в регистр делителя - делитель. Преобразуем делитель в дополнительный код. Производим сложение делимого с делителем в дополнительном коде.

 

1) 2а-b Остаток восстанавливаем

а - остаток

b - делитель

 

2) а-b Остаток не восстанавливаем

2(а-b)

2(a-b)+b

2a-b

 

Не используется такт восстановления на каждом разряде.

 

Пример:

С восстановлением

 

1 такт. Сдвиг делимого влево на один разряд + дополнительный код делителя:

 

2 такт. Восстановление остатка (к остатку прибавляем делитель):

 

3 такт. Сдвиг восстановленного остатка влево на 1 разряд + дополнительный код делителя:

Без восстановления

1 такт.Сдвиг делимого влево на один разряд + дополнительный код делителя:

 

2 такт. Сдвиг остатка на 1 разряд влево + делитель:

 

3 такт.Сдвиг остатка влево на 1 разряд + дополнительный код делителя:

 








Дата добавления: 2016-02-09; просмотров: 822;


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

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

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

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