다음을 통해 공유


isnan, , _isnan_isnanf

부동 소수점 값이 NaN("숫자가 아님")인지 테스트합니다.

구문

int isnan(
   /* floating-point */ x
); /* C-only macro */

int _isnan(
   double x
);

int _isnanf(
   float x
); /* x64 only */

template <class T>
bool isnan(
   T x
) throw(); /* C++ only */

매개 변수

x
테스트할 부동 소수점 값입니다.

반환 값

C에서 매크로와 함수는 _isnan 인수 x 가 NaN이면 0이 아닌 값을 반환하고_isnanf, isnan 그렇지 않으면 0을 반환합니다.

C++에서는 인수가 isnan NaN이면 템플릿 함수가 반환 true 되고, 그렇지 않으면 반환됩니다false.x

설명

NaN 값은 자체 또는 다른 NaN 값과 같지 않으므로 이를 검색하려면 이러한 함수 또는 매크로 중 하나를 사용해야 합니다. 지정된 형식에 대해 부동 소수점 연산의 결과를 IEEE-754 부동 소수점 형식으로 나타낼 수 없는 경우 NaN이 생성됩니다. 출력에 대해 NaN을 나타내는 방법에 대한 자세한 내용은 다음을 참조하세요 printf.

C++로 컴파일하면 매크로가 isnan 정의되지 않고 isnan 템플릿 함수가 대신 정의됩니다. 매크로와 동일한 방식으로 동작하지만 정수 대신 형식 bool 값을 반환합니다.

_isnan_isnanf 함수는 Microsoft 전용입니다. _isnanf 함수는 x64용으로 컴파일된 경우에만 사용할 수 있습니다.

요구 사항

루틴에서 반환된 값 필수 헤더(C) 필수 헤더(C++)
isnan, _isnanf <math.h> <math.h> 또는 <cmath>
_isnan <float.h> <float.h> 또는 <cfloat>

호환성에 대한 자세한 내용은 호환성을 참조하세요.

참고 항목

수학 및 부동 소수점 지원
fpclassify
_fpclass, _fpclassf
isfinite, , _finite_finitef
isinf
isnormal