Студопедия — Сложение и вычитание
Студопедия Главная Случайная страница Обратная связь

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

Сложение и вычитание






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

Пример 3.25

Сложить два числа, представленные в формате с плавающей запятой:

А=0, 31529010 - 2, В= 0, 11408210+2.

Обратите внимание, мантиссы чисел нормализованы. Очевидно, прежде чем складывать мантиссы, требуется преобразовать числа таким образом, чтобы они имели одинаковые порядки. Выравнивание порядков можно выполнить двумя способами — уменьшением большего порядка до меньшего или увеличением меньшего до большего (рис. 3.31).

Рис. 3.31. Выравнивание порядков

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

Для выравнивания порядков следует определить разность порядков слагаемых и сдвинуть мантиссу числа с меньшим порядком вправо на величину этой разности. Если разность порядков превышает разрядность поля мантиссы, то значение слагаемого с меньшим порядком может быть принята за 0, а результат суммирования будет равен слагаемому с большим порядком.

(Страница74)

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

Однако если в результате этого добавления произойдет переполнение разрядной сетки порядков, то результат окажется неверным — имеет место т. н. положительное переполнение: OV:=1 (рис. 3.32).

Рис. 3.32. Положительное переполнение

В результате алгебраического сложения мантисс результат может оказаться ненормализованным. Для нормализации результата необходимо сдвигать мантиссу результата влево до тех нор, пока в старшем значащем разряде не окажется цифра, отличная от 0 (в двоичной системе это 1), сопровождая каждый сдвиг уменьшением на 1 порядка результата (рис. 3.33). Этот процесс называется нормализацией результата.

Рис. 3.33. Положительное переполнение

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

Рис. 3.34. Алгоритм операции сложения чисел с плавающей запятой

Итак, процедура алгебраического сложения чисел с плавающей запятой складывается из следующих этапов:

1. Выравнивание порядков.

2. Алгебраическое сложение мантисс как чисел с фиксированной запятой.

3. Нормализация результата.

Алгоритм операции сложения с плавающей запятой представлен на рис. 3.34. Первая часть алгоритма — выравнивание порядков, представлена достаточно подробно, хотя можно предложить несколько различных способов реализации этой процедуры (в зависимости от способа кодирования порядков, требования к быстродействию и экономичности арифметического устройства). Алгоритм алгебраического сложения мантисс (как чисел с фиксированной запятой) подробно обсуждался выше (см. разд. 3.4 — 3 .6, рис. 3.3, 3.21, 3.22), поэтому в рассматриваемом алгоритме он представлен одним блоком. Нормализация результата приведена для случая представления чисел в прямом коде.







Дата добавления: 2015-04-16; просмотров: 1131. Нарушение авторских прав; Мы поможем в написании вашей работы!



Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

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

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Правила наложения мягкой бинтовой повязки 1. Во время наложения повязки больному (раненому) следует придать удобное положение: он должен удобно сидеть или лежать...

ТЕХНИКА ПОСЕВА, МЕТОДЫ ВЫДЕЛЕНИЯ ЧИСТЫХ КУЛЬТУР И КУЛЬТУРАЛЬНЫЕ СВОЙСТВА МИКРООРГАНИЗМОВ. ОПРЕДЕЛЕНИЕ КОЛИЧЕСТВА БАКТЕРИЙ Цель занятия. Освоить технику посева микроорганизмов на плотные и жидкие питательные среды и методы выделения чис­тых бактериальных культур. Ознакомить студентов с основными культуральными характеристиками микроорганизмов и методами определения...

САНИТАРНО-МИКРОБИОЛОГИЧЕСКОЕ ИССЛЕДОВАНИЕ ВОДЫ, ВОЗДУХА И ПОЧВЫ Цель занятия.Ознакомить студентов с основными методами и показателями...

Механизм действия гормонов а) Цитозольный механизм действия гормонов. По цитозольному механизму действуют гормоны 1 группы...

Алгоритм выполнения манипуляции Приемы наружного акушерского исследования. Приемы Леопольда – Левицкого. Цель...

ИГРЫ НА ТАКТИЛЬНОЕ ВЗАИМОДЕЙСТВИЕ Методические рекомендации по проведению игр на тактильное взаимодействие...

Studopedia.info - Студопедия - 2014-2024 год . (0.008 сек.) русская версия | украинская версия