Точность вычислений на компьютере
Точность вычислений на компьютере определяется следующими параметрами.
Машинная эпсилон
Машинным эпсилоном εm называется наименьшее из чисел, удовлетворяющих условию 1+ε>1, т.е. εm=min{ε: 1+ε>1}.
Величина εm при округлении методом отсечения определяется по формуле εm=2-m+1, а при округлении методом дополнения - εm=2-m, где m - количество разрядов, отведенное для хранения мантиссы числа в представлении с плавающей точкой.
Машинный ноль
Машинным нулем X0 называется наименьшее представимое на компьютере положительное число, т.е. для любого другого представимого на компьютере числа χ будет выполняться неравенство: 0< X0 ≤ | χ |.
Величина X0 определяется по формуле X0=2-2k , где k - количество разрядов, отведенное для хранения порядка числа в представлении с плавающей точкой.
Ситуации, при которой результат какого-либо действия, выполняемого на компьютере, оказывается меньше X0, называется исчезновением порядка.
Машинная бесконечность
Машинной бесконечностью X∞ называется наименьшее из чисел удовлетворяющих неравенству | χ | < X∞, где - χ любое число, которое можно представить на компьютере.
Величина X∞ определяется по формуле X∞=22k - 1, где k - количество разрядов, отведенное для хранения порядка числа в представлении с плавающей точкой.
Ситуации, при которой результат какого-либо действия, выполняемого на компьютере, оказывается больше или равен X∞, называется переполнением.
Шаг, с которым возможно представление чисел в компьютере
Шаг h, с которым возможно представление чисел в компьютере определяется по формуле h=2K-m , где K - порядок числа, m - количество разрядов, отведенное для хранения мантиссы числа в представлении с плавающей точкой.
Если изобразить числа представимые на компьютере на числовой оси, то получится следующая картина:

Из рисунка видно, что с увеличением порядка шаг, с которым возможно представление чисел в компьютере растет.
При выполнении вычислений на компьютере необходимо придерживаться следующих правил:
При выборе формулы и порядка вычислений следует избегать вычитания близких чисел и деления на малые величины.
При переполнении или исчезновения порядка следует попытаться изменить последовательность действий, ввести масштабные коэффициенты.
При сложении следует располагать слагаемые в порядке возрастания абсолютных величин, стараясь, чтобы при каждом сложении порядки величин различались мало. При необходимости цикл суммирования разбивается на несколько более коротких.
Пример 1. Пусть X0=10-2, тогда 0.01-0.011+1=1, но в то же время 1-0.011+0.01=0.999. В первом случае неправильный результат был получен вследствие потери порядка, которое произошло после выполнения операции вычитания.
Пример 2. Пусть εm =10-2 и требуется вычислить сумму

Если вести суммирование слева направо, то получим S=100, поскольку с учетом округления до двух значащих цифр 100+0.1=100. Если вычислять справа налево, то после сложения тысячи слагаемых получим 100, дальнейшее прибавление по 0.1 ничего не изменит и результат окажется: S=200. Но правильный результат S=300 можно получить, только если сложить 1000 чисел по 0.1, затем еще 1000 чисел по 0.1, а после этого сложить промежуточные суммы.