Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Разработка алгоритма деления






 

В прямых кодах удобнее делить модули чисел. Знак результата не зависит от соотношения модулей делимого и делителя и определяется по выраже­нию (4.1).

Деление чисел с фиксированной запятой в заданном формате невозможно, если модуль делимого не меньше модуля делителя. Поэтому сначала следует проверить соотношение операндов путем вычитания делителя из делимого. Если разность окажется положительной, то можно формировать признак пе­реполнения OV = 1 и завершать операцию. В противном случае модуль част­ного оказывается меньше 1, т. е. переполнение отсутствует и деление воз­можно.

Алгоритмы деления с восстановлением остатка и без восстановления ос­татка подробно рассмотрены в разд. 3.9. Учитывая приведенный там срав­нительный анализ алгоритмов, выберем метод деления без восстановления остатка.

ГСА деления без восстановления остатка представлена на рис. 4.3. Алго­ритм предусматривает формирование знака результата согласно формуле (4.1) и сохранение его временно в переменной s. После этого производится деление модулей чисел (знаки операндов обнуляются).

Сначала производится пробное вычитание делителя из делимого. Поскольку знаки операндов - 0, то появление 1 в знаковом разряде разности означает, что А < В, и можно продолжать деление (целая часть частного равна 0).

При с0 = 0 деление невозможно — формируется признак переполнения.

В процессе получения цифр частного значение очередного остатка принимает переменная С. Независимо от знака остатка она копируется в переменную А, которая затем увеличивается вдвое путем сдвига влево на один разряд. В зависимости от знака переменной С (знака остатка) формируется очеред­ная цифра переменной D (частного) и принимается решение о действии на следующем шаге — добавлять или вычитать делитель из сдвинутого остатка. После арифметической операции выполняется сдвиг влево частного D (ос­вобождается место для очередной цифры частного), изменяется счетчик цифр частного и проверяется условие выхода из цикла — получение шестнадцати цифр частного, включая самую первую цифру — " 0 целых", на место которой копируется знак частного из переменной s.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.