В ЭВМ происходит отбрасывание или усечение. В некоторых языках программирования реализованы общепринятые правила округления. Вещественные числа в ЭВМ представляются (Табл.2.2.2) в экспоненциальном виде (с плавающей точкой): где m – мантисса, b – основание системы счисления, n - порядок. В десятичной системе счисления:
5 | 0.05·102, 0.5·101 |
172 | 17.2·101, 0.172·103 |
0.8157 | 0.008157·102 0.8157·100 |
521.45 | 52145·10-2, 5.2145·102 и 0.52145·103 |
Табл.2.2.2. Примеры записи чисел.
Если представить мантиссу в виде m = 0.d1 d2 d3 d4...... dk, то при d1≠0 получаем нормализованную форму числа, где к – количество цифр в мантиссе, называют разрядной сеткой (Табл.2.2.3). Примеры:
0.512 * 104 разр.сетка = 3;
0.5200 * 104 разр.сетка = 4
Если к = 3 то, следующие числа представим как:
5 | 0.500*101 |
172 | 0.172*103 |
0.008157 | 0.815*10-2 |
521.45 | 0.521*103 |
Табл.2.2.3. Нормализованная форма числа.
В последних двух примерах цифры, выходящие за разрядную сетку отброшены. При этом погрешность округления не превышает единицы последнего оставленного разряда.
Выполнение операций над вещественными числами начинается и заканчивается выравниванием порядков. Если порядки различны – погрешность возрастает и может привести к потере точности.
По возможности надо избегать работать с числами, порядки которых отличаются на величину, близкую к длине разрядной сетки, а также вычитания близких по значению величин
Сложить слева направо и наоборот следующие числа:
0.522·100, 0.157·10-1, 0.186·10-1, 0.239·10-1
0.522 * 100 | 0.239 * 10-1 |
+0.015 * 100 | + 0.186 * 10-1 |
0.537 * 100 | 0.425 * 10-1 |
+0.018 * 100 | + 0.157 * 10-1 |
0.555 * 100 | 0.582 * 10-1 |
+0.023 * 100 | 0.058 * 100 |
0.578 * 100 | + 0.522 * 100 |
0.580 * 100 |
Погрешности вычислений
Абсолютная погрешность суммы или разности нескольких чисел не превосходит суммы абсолютных погрешностей этих чисел.
Относительная погрешность суммы:
Относительная погрешность разности:
Относительная погрешность произведения
Относительная погрешность частного:
Абсолютная погрешность дифференцируемой функции многих переменных:
Пример. Для заданной функции: определить y, при x1= -1.5, x2= 1.0, x3= 2.0. Все цифры в данных верные для x1 в широком смысле, а для x2 и x3 в узком смысле.
Вычисляем значение функции.
Вычисляем погрешности: тогда или следовательно Отсюда получаем