Особенности машинной арифметики

В ЭВМ происходит отбрасывание или усечение. В некоторых языках программирования реализованы общепринятые правила округления. Вещественные числа в ЭВМ представляются  (Табл.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 в узком смысле.

Вычисляем значение функции.

Вычисляем погрешности: тогда  или  следовательно  Отсюда получаем


 



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: