isnan
, _isnan
, _isnanf
Teste si une valeur à virgule flottante est un naN (« Pas un nombre »).
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 */
Paramètres
x
Valeur à virgule flottante à tester.
Valeur retournée
En C, la isnan
macro et les _isnan
_isnanf
fonctions retournent une valeur non nulle si l’argument x
est un naN ; sinon, ils retournent 0.
En C++, la isnan
fonction de modèle retourne true
si l’argument x
est un NaN ; sinon, il retourne false
.
Notes
Étant donné qu’une valeur NaN ne se compare pas comme égale à elle-même ou à une autre valeur NaN, pour détecter une valeur, vous devez utiliser l’une de ces fonctions ou macros. Un naN est généré lorsque le résultat d’une opération à virgule flottante ne peut pas être représenté au format à virgule flottante IEEE-754 pour le type spécifié. Pour plus d’informations sur la façon dont un naN est représenté pour la sortie, consultez printf
.
Lorsqu’elle est compilée en C++, la isnan
macro n’est pas définie et une isnan
fonction de modèle est définie à la place. Il se comporte de la même façon que la macro, mais retourne une valeur de type bool
au lieu d’un entier.
Les _isnan
fonctions et _isnanf
les fonctions sont spécifiques à Microsoft. La fonction _isnanf
n’est disponible que quand elle est compilée pour x64.
Spécifications
Routine | En-tête requis (C) | En-tête requis (C++) |
---|---|---|
isnan , _isnanf |
<math.h> | <math.h> ou <cmath> |
_isnan |
<float.h> | <float.h> ou <cfloat> |
Pour plus d’informations sur la compatibilité, consultez Compatibility.
Voir aussi
Prise en charge mathématique et à virgule flottante
fpclassify
_fpclass
, _fpclassf
isfinite
, _finite
, _finitef
isinf
isnormal
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour