Sé que el tamaño de varios tipos de datos puede cambiar dependiendo del sistema en el que estoy. yo uso de 32 bits de XP, y usando el operador sizeof() en C++, parece que a largo doble es de 12 bytes, y doble es 8.double double vs double
Sin embargo, la mayoría de las fuentes principales estados que a largo doble es de 8 bytes, y el rango es por lo tanto lo mismo que un doble.
¿Cómo es que tengo 12 bytes? Si el doble largo es de hecho 12 bytes, ¿no extiende esto también el rango de valores? ¿O la firma larga solo se usa (las cifras del compilador) cuando el valor excede el rango de un doble, y por lo tanto, se extiende más allá de 8 bytes?
Gracias.
Esta es la peor característica en ISO C. Le recomiendo encarecidamente que no la use. Solo genera problemas porque la especificación es muy flexible. – Jeff