컴퓨터 산술
x가 매우 클 때 √(x + 1) − √x를 부동소수점으로 계산하면 자리 상쇄가 일어납니다. 결과를 정밀하게 구하기 위한 변형으로 올바른 것은 무엇입니까?
- A1 ÷ (√(x + 1) + √x)로 계산한다
- B√(x + 1 − x)로 계산한다
- C√(x + 1)과 √x를 각각 배정밀도로 바꾼 뒤 같은 식으로 뺄셈한다
정답과 해설 보기
정답: A. 1 ÷ (√(x + 1) + √x)로 계산한다
√(x + 1)과 √x는 거의 같으므로 그대로 빼면 상위 자릿수가 상쇄됩니다. 분자와 분모에 √(x + 1) + √x를 곱하면 (x + 1 − x) ÷ (√(x + 1) + √x) = 1 ÷ (√(x + 1) + √x)가 되어, 가까운 수끼리의 뺄셈이 없어져 정밀하게 계산할 수 있습니다. √(x + 1 − x)는 1이 되어 식으로서 오류입니다. 배정밀도로 하면 개선은 되지만, x가 더 커지면 같은 문제가 일어나므로 근본적인 대책은 되지 못합니다.