Деление чисел в прямых кодах.

Алгоритм деления с восстановлением остатка состоит в следующем.

1. Выполняется пробное вычитание с формированием первого остатка A1=[Дм]доп+[-Дм]доп. Далее, если А1 < 0, то в первый разряд, расположенный слева от запятой заносится ноль (0, ), иначе единица (1, ) – переполнение и переход к пункту 5.

2. Если Аi < 0, то восстанавливаем предыдущий остаток Ai=Ai+[Дм]доп.

3. Формирование очередного остатка. Ai+1=Ai∙2+[-Дм]доп, то в очередной разряд частного справа от запятой записывается ноль (Чт(n)=0), иначе записывается единица (Чт(n)=1).

4. Если достигнута заданная точность частного или получен нулевой остаток Ai+1, то процесс деления окончен и переход к пункту 5, иначе переходим к пункту 2 алгоритма.

5. Окончание алгоритма.

Из рассмотренного алгоритма видно, что:

1) необходимо затрачивать время на восстановление остатка;

2) процесс деления не регулярный, в зависимости от делимого и делителя

частное будет содержать нулей больше или меньше, и чем больше нулей, тем больше требуется времени на восстановление остатков.

Как видно из примера, для получения остатка Аi+2 необходимо выполнить

Аi+2 = ( Ai+1 + ДT ) ∙ 21 - ДT = Ai+1 ∙ 21 + 2ДT - ДT = Ai+1 ∙ 21 + ДT.

Из этого следует, что восстанавливать остаток не обязательно. Достаточно сдвинуть полученный отрицательный остаток влево на один разряд и добавить делитель. Это является основой алгоритма для выполнения деления без восстановления остатка.

Алгоритм деления без восстановления остатка.

1. Выполняется пробное вычитание с формированием первого остатка A1=[Дм]доп+[-Дм]доп. Далее, если А1 < 0, то в первый разряд, расположенный слева от запятой заносится ноль (0, ), иначе единица (1, ) – переполнение и переход к пункту 5.

2. Формирование очередного остатка. Если Аi < 0, то Ai+1=Ai∙2+[Дм]доп, иначе Ai+1=Ai∙2+[-Дм]доп.

3. Если Аi+1 < 0, то в очередной разряд частного справа от запятой записывается ноль (Чт(n)=0), иначе записывается единица (Чт(n)=1).

4. Если достигнута заданная точность частого или получен нулевой остаток Ai+1, то процесс деления окончен и переход к пункту 5, иначе переходим к пункту 2 алгоритма.

5. Окончание алгоритма.








Дата добавления: 2015-05-05; просмотров: 990;


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

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

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

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