Лекции.Орг


Поиск:




Категории:

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

 

 

 

 


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




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

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

 

 

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

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

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

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

 

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

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

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

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

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

 

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

 

 

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

 

 

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

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

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

 

Задание 10.

 

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

 

 





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


Дата добавления: 2017-02-25; Мы поможем в написании ваших работ!; просмотров: 754 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Лучшая месть – огромный успех. © Фрэнк Синатра
==> читать все изречения...

2205 - | 2096 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.008 с.