컴퓨터 산술

거의 같은 두 부동소수점수를 뺄셈했을 때 유효한 자릿수가 크게 줄어드는 현상을 무엇이라 합니까?

  1. A정보 누락(정보 손실)
  2. B오버플로
  3. C유효숫자 상실(자리 상쇄)
정답과 해설 보기

정답: C. 유효숫자 상실(자리 상쇄)

예를 들어 유효숫자 7자리로 1.234567 − 1.234566 = 0.000001을 계산하면 상위 6자리가 서로 상쇄되어 결과의 유효한 자릿수는 1자리밖에 남지 않습니다. 원래 수에 포함되어 있던 미세한 반올림 오차가 결과에 대해서는 상대적으로 매우 커집니다. 이것이 자리 상쇄(유효숫자 상실)이며, 식을 변형해 가까운 수끼리의 뺄셈을 피하는 것이 대책입니다. 정보 누락은 크기가 다른 수의 덧셈에서 작은 쪽의 자릿수가 사라지는 별개의 현상입니다.

이 분야 연습하기 분야로 돌아가기

컴퓨터 산술의 다른 문제

  1. x가 매우 클 때 √(x + 1) − √x를 부동소수점으로 계산하면 자리 상쇄가 일어납니다. 결과를 정밀하게 구하기 위한 변형으로 올바른 것은 무엇입니까?
  2. 단정밀도 부동소수점수에서 1억(10⁸)에 1을 더해도 결과가 1억 그대로입니다. 이 현상의 설명으로 올바른 것은 무엇입니까?
  3. 대량의 부동소수점수를 합산할 때 사용되는 카한 합산(보정 합산)의 목적으로 올바른 것은 무엇입니까?
  4. FMA(융합 곱셈-덧셈) 명령으로 a × b + c를 계산하는 이점으로 올바른 것은 무엇입니까?
  5. bfloat16이 AI 학습에서 사용되는 주된 이유는 무엇입니까?