Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛЗ-03 - Арифметические операции в ЭВМ - 2.doc
Скачиваний:
30
Добавлен:
19.02.2016
Размер:
83.46 Кб
Скачать

2. Арифметические действия над вещественными числами.

2.1 Сложение и вычитание вещественных чисел.

Выполнение арифметических операций над вещественными числами отличается от аналогичных операций над целыми числами.

К началу выполнения арифметического действия операнды операции помещаются в соответствующие регистры АЛУ.

При сложении и вычитании сначала производится подготовительная операция, называемая выравниванием порядков.

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

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

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

В целом оперции сложения, вычитания чисел представленных в формате с плавающей точкой выполняются в следующей последовательности:

1) Осуществляется сравнение порядков (при этом поскольку в форматах хранятся не сами порядки а смещенные порядки, как целые беззнаковые числа, то их сравнение осуществляется путем вычитания их как целых беззнаковых чисел).

2) Производится выравнивание порядков числа с меньшим порядком в сторону числа с большим порядком.

3) Производится алгебраическое сложение.

4) Производится нормализация результатов.

Пример 3. Сложить двоичные нормализованные числа 0.10111•2–1 и 0.11011*210. Разность порядков слагаемых здесь равна

Пример 4. Выполнить вычитание двоичных нормализованных чисел 0.10101*210 и 0.11101*21. Разность порядков уменьшаемого и вычитаемого здесь равна единице, поэтому перед вычитанием мантисса второго числа сдвигается на один разряд вправо:

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

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

Если мантисса не нулевая и имеет место денормализация вправо, то для получения нормализованного результата мантисса сдвигается влево на соответствующее число разрядов (пока старшая разрядная цифра остается равной нулю), а порядок уменьшается на эту величину. В этом случае может возникнуть антипереполнение.

Задание 2.

Самостоятельно выполните в четырехбайтном формате сложение и вычитание двух вещественных чисел, выбранных из таблицы №2, предварительно переведя их в двоичную систему счисления и осуществите проверку результатов в десятичной системе.