La taille des doubles octets dans les systèmes d'exploitation 32 bits et 64 bits
-
12-09-2019 - |
Question
Y a-t-il une différence dans double taille lorsque j'exécute mon application dans un environnement 32 et 64 bits ?
Si je ne me trompe pas, le double en environnement 32 bits occupera 16 chiffres après 0, alors que le double en 64 bits occupera 32 bits, n'est-ce pas ?
La solution
Non, un Nombre à virgule flottante double précision IEEE 754 est toujours de 64 bits.De même, une simple précision float
est toujours 32 bits.
Si votre question concerne spécifiquement C# et/ou .NET (comme l'indique votre balise), tous des tailles de types de données sont fixes, indépendamment de l'architecture de votre système.C'est la même chose que Java, mais différent du C et du C++ où la taille des types varie d'une plate-forme à l'autre.
Il est courant que les types intégraux aient des tailles différentes sur différentes architectures en C et C++.Par exemple, int
avait une largeur de 16 bits sous DOS 16 bits et de 32 bits sous Win32.Cependant, la norme IEEE 754 est si omniprésente pour le calcul en virgule flottante que les tailles de float
et double
faire pas varient sur n'importe quel système que vous trouverez dans le monde réel - il y a 20 ans double
était en 64 bits et c'est toujours le cas aujourd'hui.
Autres conseils
c # double est toujours de 8 octets (64 bits)
Il ne change pas.
Une façon simple de vérifier cela est en train d'écrire une application simple de la console avec
Console.WriteLine(Double.MaxValue);
et la compilation à x86 et x64.