Pregunta

Esta pregunta puede sonar como para principiantes, sin embargo, cuando descubrí que pensé que era un principiante o a mi compensación le falta algo:

int main()
{
    cout << sizeof(double) << endl;
    cout << sizeof(long double) << endl;

    cout << DBL_DIG << endl;
    cout << LDBL_DIG << endl;

    return 0;
}

Salida del programa:

8

8

15

15

Pensé long double es 10 bytes y tiene 18 dígitos decimales mientras double es 8 bytes y tiene 15 dígitos, pero parece que me equivoqué.

¿Por qué es así?

Uso de MSVC 2010 en una máquina de 64 bits.

No hay solución correcta

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top