_isnan, _isnanl
Nach oben zu float.h - Index
Header-Datei
float.h
Kategorie
Klassifizierungsroutinen, Mathematische Routinen
Prototyp
int _isnan(double d);
int _isnanl(long double ld);
Beschreibung
Bestimmt, ob ein gegebener Gleitkommawert mit doppelter Genauigkeit d ein NaN (Not a Number, keine Zahl) ist.
_isnanl ist die long double-Version. Sie benötigt ein long double-Argument.
Rückgabewert
Gibt einen Wert ungleich Null (wahr) zurück, wenn der übergebene Wert ein NaN ist. Andernfalls wird 0 (falsch) zurückgegeben. Der Rückgabewert ungleich Null entspricht entweder _FPCLASS_SNAN, wenn der NaN ein signaling NaN ist, oder _FPCLASS_QNAN, wenn der NaN ein quiet NaN (auch silent NaN genannt) ist. Die Werte für _FPCLASS_SNAN und _FPCLASS_QNAN sind in float.h definiert.
Beispiel
#include <math.h>
int print_double(double value)
{
/* print "Infinite" if value is NaN */
if (_isnan(value))
printf("Infinite");
else
printf("%f", value);
}
Portabilität
| POSIX | Win32 | ANSI C | ANSI C++ | |
|---|---|---|---|---|
|
_isnan |
+ |
|||
|
_isnanl |
+ |