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