가드 디지트

Guard digit

수치해석에서는 하나 이상의 가드 숫자를 사용하여 반올림 오차의 양을 줄일 수 있다.

예를 들어, 긴 다단계 계산의 최종 결과는 소수점 N 자리까지 안전하게 반올림할 수 있다고 가정합시다.즉, 이 최종 라운드오프에 의해 도입된 라운드오프 오류는 전체 불확실성에 무시할 수 있는 기여를 한다.

그러나 계산의 중간 단계를 같은 숫자로 반올림하는 것은 안전하지 않을 가능성이 높다.반올림 오차가 누적될 수 있다는 점에 유의하십시오.중간 계산에 M 소수점을 사용하면 M-N 가드 자리가 있다고 한다.

가드 자릿수는 대부분의 컴퓨터 시스템에서 부동 소수점 작동에도 사용된다.2 - . 2 0.}- 0}}개씩 이진수를 줄여야 한다.이것은 우리가 첫 번째 피연산자에 더 많은 숫자를 추가해야 한다는 것을 의미한다.This gives us . Performing this operation gives us or . Without using a guard digit we have , yielding or . This gives us a relative error of 1.따라서 가드 숫자가 얼마나 중요할 수 있는지 알 수 있다.

부동 소수점 반올림으로 인한 오류의 예는 다음 C 코드에 설명되어 있다.

인트로 본래의(){    곱절로 하다 a;    인트로 i;     a = 0.2;     a += 0.1;     a -= 0.3;     을 위해 (i = 0; a < 1.0; i++)         a += a;     활자화하다("i=%d, a=%f\n", i, a);     돌아오다 0; } 

프로그램이 종료되어서는 안 될 것으로 보인다.그러나 출력은 다음과 같다.

i=54, a=1.000000

또 다른 예는 다음과 같다.

다음 2개의 숫자를 선택하십시오.

0 2 10 및 2. {\ 2 10}}

첫 번째 번호는 두 번째 번호와 동일한 의 전원에 도달한다.

2개의 숫자를 더하면 다음과 같다.

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

숫자(예: 2 2 2를 0 채운 후, 이후의 비트는 가드 자릿수가 되고 뒤의 비트는 둥근 자릿수가 된다.라운딩 후 결과는 추가 비트(가드와 라운드 비트)가 없는과는 반대로 이며, 즉 0.+ = 342. 따라서 는 0.

참조

  • Forman S. 액턴. 작동하는 수치적 방법, 미국의 수학 협회 (1997년 8월)
  • Hiam, Nicholas J. 수치 알고리즘의 정확성과 안정성, Washington D.C.:산업 응용 수학 협회, 2002.
  • IEEE 754 반올림 오류