컴퓨터 산술

x가 NaN일 때, 많은 프로그래밍 언어에서 x == x를 평가한 결과는 무엇입니까?

  1. A참
  2. B거짓
  3. C예외가 발생하여 프로그램이 반드시 중지된다
정답과 해설 보기

정답: B. 거짓

IEEE 754에서 NaN은 「숫자가 아닌」 값이므로 어떤 값과 비교해도 같아지지 않으며, NaN 자신과의 비교에서도 x == x는 거짓이 됩니다(x != x는 참). 이 성질을 이용해 x != x로 NaN인지 판정하는 방식도 쓰이지만, 보통은 전용 함수(isnan 등)를 사용합니다. NaN은 0 ÷ 0이나 ∞ − ∞ 등에서 생기며, 이후의 계산에도 퍼져 나갑니다. 비교에서 예외가 발생해 멈추는 것은 기본 동작이 아닙니다.

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

컴퓨터 산술의 다른 문제

  1. IEEE 754 단정밀도에서 지수부가 모두 1(255)인 비트열이 나타내는 것의 설명으로 올바른 것은 무엇입니까?
  2. IEEE 754 부동소수점수에서 +0과 −0에 대한 설명으로 올바른 것은 무엇입니까?
  3. IEEE 754에서 기본 반올림 방법으로 정해진 것은 무엇입니까?
  4. 최근접 짝수 반올림으로 정수로 반올림할 때, 2.5와 3.5는 각각 얼마가 됩니까?
  5. 거의 같은 두 부동소수점수를 뺄셈했을 때 유효한 자릿수가 크게 줄어드는 현상을 무엇이라 합니까?