Existe-t-il une différence dans la taille double lorsque j'exécute mon application sur un environnement 32 et 64 bits?
Si je ne me trompe pas, l'environnement double en 32 bits prendra 16 chiffres après 0, tandis que le double en 64 bits prendra 32 bits, ai-je raison?
Non, un nombre à virgule flottante double précision IEEE 754 est toujours 64 bits. De même, un float
simple précision vaut toujours 32 bits.
Si votre question concerne spécifiquement C # et/ou .NET (comme l'indique votre balise), toutes les tailles de type de données sont fixes, indépendamment de votre Architecture du système. C'est la même chose que Java, mais différent de C et C++ où les tailles de types varient d'une plateforme à 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 une largeur de 32 bits sous Win32. Cependant, la norme IEEE 754 est tellement omniprésente pour le calcul en virgule flottante que les tailles de float
et double
font pas varient sur n'importe quel système que vous trouverez dans le monde réel - il y a 20 ans double
était de 64 bits et il en est de même aujourd'hui.
En c # double est toujours 8 octets (64 bits)
Ça ne change pas.
Un moyen simple de vérifier cela consiste à écrire une application console simple avec
Console.WriteLine(Double.MaxValue);
et la compilation à la fois x86 et x64.