long double vs double

Je sais que la taille de différents types de données peuvent changer en fonction du système, je suis sur.
J'utilise XP 32bits, et en utilisant le sizeof() opérateur en C++, il semble que long double est de 12 octets, et le double est 8.

Cependant, la plupart des grandes sources déclare que les long double est de 8 octets, et la gamme est donc le même que d'un lit double.

Comment se fait-j'ai 12 octets? Si long double est en effet de 12 octets, n'est-ce pas cela étend la gamme de valeur? Ou le long de la signature n'est utilisé (le compilateur chiffres) lorsque la valeur dépasse la portée d'un double, et donc, s'étend au-delà de 8 octets?

Merci.

  • C'est le pire aspect en ISO C. je vous déconseillons fortement de l'utiliser. Il ne conduit qu'à des problèmes parce que la spécification est tellement lâche.
InformationsquelleAutor CppLearner | 2010-08-11