qu'est-NaN moyenne pour les doubles?
Quelle est la différence entre NaN
et Infinity
? Quand NaN
apparaître? Quel est-il?
- Pour info, le titre de tri-de fait allusion que vous pensez qu'il y a une différence entre NaN-manipulation pour les flotteurs et en double. (Du moins c'est ce que je pensais) Que ce serait intéressant si vous avez observé une différence, mais vous êtes juste demander à propos de NaN/Inf en général, qui est une sorte de joli trucs de base.
- Double Possible de En Java, qu'est-NaN veux dire?
Vous devez vous connecter pour publier un commentaire.
De Wikipédia :
Et de MSDN :
Où, comme
Infinity
(l'infini positif et l'infini négatif) est le résultat d'une opération de virgule flottante qui provoque un dépassement de capacité (Par exemple3.0 /0
).Double.IsInfinity(3.0 / 0);
évalue à true. Pouvez-vous exactement comment j'ai peut-être tort ? J'aimerais en savoir plus 🙂3 / 0 is undefined, not infinity
? Maintenant, nous allons l'arrêter!Infinity
est une construction mathématique:Par exemple, Dans l'espace euclidien, la division par le null-élément (zéro dans ce cas) devrait donner l'Infini:
Not a Number
ouNaN
est un calcul de construire, qui sont venus avec des analyseurs et des programmes de limites, et sa sortie peuvent être affectés à différents sens en fonction du fonction en question.Par exemple, un résultat ne peut être mathématiquement traitable à l'aide d'un nombre différent système, ce qui est facile pour un mathématicien à faire, mais dans la fonction que vous aurez peut-être comme le seul pragmatique de l'option de retour
NaN
. Considérons, la racine carrée de-1
:...une opération qui est facilement traitable dans
complex
etphase space
.Expérience:
Ouvrir le JavaScript.Console (CTRL+MAJ+J) dans votre navigateur, et tapez
En C# la typique "de NaN-situations" sont pour la plupart gérées par des Exceptions:
Langages à typage dynamique:
Dans l'ensemble, l'utilisation de
NaN
est un peu souple affecté dans différents langages de programmation. À l'aide deNaN
à la perte de l'information contextuelle', est pratique dans typées dynamiquement les langages de script, où les programmeurs ne veulent pas s'embêter avec complexe exception-types et de la manipulation de celui-ci.Se produit généralement lorsque vous divisez 0 par 0. Lire la suite ici: http://msdn.microsoft.com/en-us/library/system.double.nan.aspx
NaN signifie "Pas un nombre de Valeur". Pour éviter les exceptions, vous pouvez utiliser la fonction IsNaN pour déterminer si une valeur n'est pas un nombre.
NaN signifie "Pas un nombre" et qui vous dit que cette variable de type double n'a pas de valeur.