10
votes

Valeur maximale vs. Taille de longue et double in .NET

On sait que la taille de .NET de long et double est de 8 octets. Cependant, le double peut stocker un nombre de manière significative que longtemps. Comment peut-être, en considérant que double doit également stocker des données sur des chiffres après un point décimal?

version plus courte de la question:

math.pow (2, 64) == long.maxvalue Math.pow (2, 64)


3 commentaires

Double a moins de précision que la décimale.


en.wikipedia.org/wiki/double_Precision


en.wikipedia.org/wiki/...


3 Réponses :


20
votes

Réponse courte Double seulement stocke la figure la plus importante et non tous les chiffres qui pourraient être dans le nombre. par exemple. Si vous avez une double valeur maximale de long, il ne stockera aucune information pour les chiffres après le point décimal ou l'une quelconque de la figure juste à gauche du point Deciaml.

Pour tous les détails, voir Ce que chaque scientifique informatique doit connaître sur l'arithmétique de point flottant < / a>


2 commentaires

Expliqué en termes simples pour que quiconque ait compris :)


J'ai initialement utilisé ce texte à propos de l'année précédente et j'ai trouvé cela vraiment utile.



1
votes

Le double est le numéro de point flottant. WISCH BASSICALY MAAMS QU'IL SE QUE LE NUMÉRO STANDÉ EN TAILLE GRATURE C'EST BEAIRE COURANT ET LA PARTIE LA MOIMENT significative est rejetée.

Par exemple, en double lorsque vous avez un numéro de 100 milliards. Il peut s'agir exactement de 100 000 000 000 000 ou il peut être 100 000 000 000 000 000 000 000 000 001


1 commentaires

Bien que cela ne soit pas faux, il laisse la raison principale pour laquelle Double a une plus grande gamme que l'INT ou longue, à savoir qu'il s'agit d'un nombre de points flottant représenté par un signifiant et un exposant.