Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




Машинные методы деления

Деление - простое многократное вычитание делителя вначале из делимого, затем из остатков. Введем обозначения, используемые ниже: Дм - делимое, Дт - делитель, Аi – очередной (i-й) остаток, Чт – частное. Известны два основных подхода к операции деления:

§ с восстановлением остатков;

§ без восстановления остатков.

Независимо от метода деления после каждого вычитания делителя формируется цифра частного. Операция деления является операцией, дающей не всегда точный результат. Поэтому признаком окончания операции деления

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

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

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

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

3. Формирование очередного остатка. Ai+1=Ai∙2+[-Дт]доп если Ai+1<0, то в очередной разряд частного справа от запятой записывается ноль (Чт(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) – что является признаком переполнение и ос4уществляется переход к пункту 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. Окончание алгоритма.




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


Дата добавления: 2014-12-26; Просмотров: 1557; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.