Sdílet prostřednictvím


isnan, _isnan, _isnanf

Testuje, jestli je hodnota s plovoucí desetinnou čárkou naN (Ne číslo).

Syntaxe

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 */

Parametry

x
Hodnota s plovoucí desetinou čárkou, která se má testovat.

Vrácená hodnota

V jazyce C vrátí makro a _isnan_isnanf funkce nenulovou hodnotu, isnan pokud je argument x naN, jinak vrátí hodnotu 0.

V jazyce C++ vrátí true funkce šablony, isnan pokud je argument x naN; v opačném případě vrátí false.

Poznámky

Vzhledem k tomu, že se hodnota NaN nerovná jako rovna sobě nebo žádné jiné hodnotě NaN, musíte k rozpoznání jedné z těchto funkcí nebo maker použít jednu z těchto funkcí nebo maker. Hodnota NaN se vygeneruje v případě, že výsledek operace s plovoucí desetinnou čárkou nemůže být reprezentován ve formátu IEEE-754 s plovoucí desetinnou čárkou pro zadaný typ. Informace o tom, jak je naN reprezentován pro výstup, naleznete v tématu printf.

Při kompilaci jako C++ isnan není makro definováno a místo toho je definována isnan funkce šablony. Chová se stejně jako makro, ale místo celého čísla vrátí hodnotu typu bool .

Funkce _isnan a _isnanf funkce jsou specifické pro Microsoft. Funkce _isnanf je k dispozici pouze při kompilaci pro platformu x64.

Požadavky

Rutina Povinná hlavička (C) Povinná hlavička (C++)
isnan, _isnanf <math.h> <math.h> nebo <cmath>
_isnan <float.h> <float.h> nebo <cfloat>

Další informace o kompatibilitě najdete v tématu Kompatibilita.

Viz také

Podpora pro matematiku a plovoucí desetinou čárku
fpclassify
_fpclass, _fpclassf
isfinite, _finite, _finitef
isinf
isnormal