Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Verifica se un valore a virgola mobile è un Valore NaN ("Non un numero").
Sintassi
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 */
Parametri
x
Valore a virgola mobile da verificare.
Valore restituito
In C, la isnan macro e le _isnan funzioni e _isnanf restituiscono un valore diverso da zero se l'argomento x è un NaN; in caso contrario, restituiscono 0.
In C++, la isnan funzione modello restituisce true se l'argomento x è un NaN; in caso contrario, restituisce false.
Osservazioni:
Poiché un valore NaN non viene confrontato come uguale a se stesso o a qualsiasi altro valore NaN, per rilevarne uno, è necessario usare una di queste funzioni o macro. Un NaN viene generato quando il risultato di un'operazione a virgola mobile non può essere rappresentato in formato a virgola mobile IEEE-754 per il tipo specificato. Per informazioni sulla rappresentazione di un NaN per l'output, vedere printf.
Quando viene compilato come C++, la isnan macro non è definita e isnan viene definita una funzione modello. Si comporta allo stesso modo della macro, ma restituisce un valore di tipo bool anziché un numero intero.
Le _isnan funzioni e _isnanf sono specifiche di Microsoft. La funzione _isnanf è disponibile solo per la compilazione per la piattaforma x64.
Requisiti
| Ciclo | Intestazione obbligatoria (C) | Intestazione obbligatoria (C++) |
|---|---|---|
isnan, _isnanf |
<math.h> | <math.h> o <cmath> |
_isnan |
<float.h> | <float.h> o <cfloat> |
Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).
Vedi anche
Supporto matematico e a virgola mobile
fpclassify
_fpclass, _fpclassf
isfinite, _finite, _finitef
isinf
isnormal