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

Операции умножения и деления

Читайте также:
  1. I. Операции с предметами
  2. II. операции с юнитом
  3. II. СПОСОБЫ РАСЧЕТА ТОЧКИ ОТДЕЛЕНИЯ ПАРАШЮТИСТОВ ОТ ВОЗДУШНОГО СУДНА.
  4. III. Употребление артиклей в сочетаниях классовых существительных с уточняющим и описательным определениями.
  5. VIII. Регламент балльно - рейтинговой системы для студентов дневного отделения стр. 102
  6. Абстрактные операции технологического процесса подготовки ЛА
  7. Активные операции коммерческих банков и их характеристика

При умножении и делении вещественных чисел процессор выполняет следующие действия:

¨ находит произведение (или частное от деления) мантисс

¨ вычисляет сумму (разность) порядков операндов

¨ нормализует мантиссу результата, если это необходимо

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

Операции сложения и вычитания

При сложении и вычитании вещественных чисел процессор выполняет следующие действия:

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

¨ вычисляет сумму (разность) мантисс операндов

¨ определяет порядок результата как больший из порядков операндов

¨ нормализует мантиссу результата, если это необходимо

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

 

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

· ошибки округления – «выход» значения мантиссы за разрядную сетку (в случае произведения мантисса содержит больше разрядов, чем допустимо внутренним представлением данных соответствующего типа, поэтому часть младших разрядов произведения в память не записывается; при делении операция выполняется до получения нулевого промежуточного частного или до заполнения бит мантиссы результата);

· ошибки переполнения – «выход» значения порядка за разрядную сетку;

· машинный нуль – получение числа с ненулевой мантиссой и порядком меньшим, чем минимальный порядок в данном типе; иногда для характеристики такой ситуации употребляют выражение «обособленное представление 0»;

· катастрофическая потеря порядка, к которой приводит в ряде случаев ситуация появления «машинного нуля»;

· потеря значащих цифр.

 

Указанные особые ситуации нужно отслеживать и специально обрабатывать в программе.

 

Особые ситуации

Ошибки округления

Пусть для представления вещественного числа выделено 3 разряда под мантиссу и 2 под порядок. Тогда при умножении двух чисел 0.123*1002 и 0.161*1005 имеем:

0.123*1002 * 0.161*1005 = 0.019803*1007 = 0.198*1006 = 198000 (вместо ожидаемого 198030), т.е. имеем ошибку округления.

Как следствие, надо помнить, что для вещественных чисел X и Y значения выражений X и X*Y/Y не равны. Например:

0.111*1000*0.223*1001/0.223*1001=0.025*1001/0.223*1001=0.25*1000/0.223*1001= 1.121*10-01 = 0.112*1000.

 


Дата добавления: 2015-07-08; просмотров: 118 | Нарушение авторских прав


Читайте в этой же книге: Выделение цифр в целом числе | Операции присваивания | Примеры использования | Логические выражения и примеры их записи | Пример 6. | Правила преобразования типов | Примеры преобразования типов | Адрес переменной | Программирование вычисления алгебраических выражений | Основные встроенные (стандартные) функции |
<== предыдущая страница | следующая страница ==>
Замечания по программированию алгебраических выражений| Ошибки переполнения

mybiblioteka.su - 2015-2024 год. (0.013 сек.)