컴퓨터 산술
x가 NaN일 때, 많은 프로그래밍 언어에서 x == x를 평가한 결과는 무엇입니까?
- A참
- B거짓
- C예외가 발생하여 프로그램이 반드시 중지된다
정답과 해설 보기
정답: B. 거짓
IEEE 754에서 NaN은 「숫자가 아닌」 값이므로 어떤 값과 비교해도 같아지지 않으며, NaN 자신과의 비교에서도 x == x는 거짓이 됩니다(x != x는 참). 이 성질을 이용해 x != x로 NaN인지 판정하는 방식도 쓰이지만, 보통은 전용 함수(isnan 등)를 사용합니다. NaN은 0 ÷ 0이나 ∞ − ∞ 등에서 생기며, 이후의 계산에도 퍼져 나갑니다. 비교에서 예외가 발생해 멈추는 것은 기본 동작이 아닙니다.