다음을 통해 공유


NAN(숫자가 아님) 항목

Visual C++ 컴파일러는 IEEE 규격 방식의 NAN(숫자가 아님) 항목 비교를 지원합니다. x가 NAN이고 y가 NAN이 아닌 경우 다음과 같습니다.

  • (x != x) == true

  • (x == x) == false

  • (y > x) == false

  • (y < x) == false

NAN 순서 지정 테스트는 항상 false를 반환합니다. 즉, NAN [<, <=, >, >=] [any_number]는 false가 됩니다.

다음 코드에서는 Visual C++의 NAN과 부동 소수점 수를 성공적으로 비교할 수 없다는 것을 보여 줍니다.

#include <math.h>
#include <stdio.h>
#include <float.h>

int main( void ) {
unsigned long nan[2]={0xffffffff, 0x7fffffff};
double g = *( double* )nan;

if ( g <= 3.0 )
   printf( "g( %g ) <= 3.0\n", g );
else if ( g > 3.0)
   printf( "g( %g ) > 3.0\n", g );
else
   printf( "g( %g ) is NaN\n", g );
}

참고 항목

참조

어휘 규칙