Сторожевой разряд - Guard digit

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

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

Однако вполне вероятно, что это нет можно округлить промежуточные этапы вычисления до того же количества цифр. Помните, что ошибки округления могут накапливаться. Если M десятичные разряды используются в промежуточных вычислениях, мы говорим, что есть M − N охранные цифры.

Защитные цифры также используются в операциях с плавающей запятой в большинстве компьютерных систем. Данный мы должны выровнять двоичные точки. Это означает, что мы должны добавить к первому операнду дополнительную цифру - защитную цифру. Это дает нам . Выполнение этой операции дает нам или же . Без использования охранной цифры мы имеем , уступая или же . Это дает нам относительную ошибку 1. Таким образом, мы можем видеть, насколько важными могут быть защитные цифры.

Пример ошибки, вызванной округлением с плавающей запятой, показан ниже. C код.

int главный(){   двойной а;   int я;   а = 0.2;    а += 0.1;    а -= 0.3;   за (я = 0; а < 1.0; я++)        а += а;   printf("i =% d, a =% f", я, а);   возвращаться 0;}

Похоже, что программа не должна завершаться. Однако результат такой:

я = 54, а = 1.000000

Другой пример:

Возьмите 2 числа:

и

доводим первое число до такой же степени как второй:

Сложение двух чисел:

0.0256*10^2 2.3400*10^2 +  ____________ 2.3656*10^2 

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

Рекомендации

  • Форман С. Эктон. Численные методы, которые работают, Математическая ассоциация Америки (август 1997 г.).
  • Хайэм, Николас Дж. Точность и стабильность численных алгоритмов., Вашингтон, округ Колумбия: Общество промышленной и прикладной математики, 2002.