Pregunta

¿Hay una diferencia en tamaño doble cuando corro mi aplicación el entorno de 32 y 64 bits?

Si no me equivoco el doble en el entorno de 32 bits ocupará 16 dígitos después de 0, mientras que el doble de 64 bits tendrá un 32 bits, ¿verdad?

¿Fue útil?

Solución

No, un IEEE 754 de doble precisión en coma flotante número es siempre 64 bits. Del mismo modo, un float de precisión simple es siempre 32 bits.

Si su pregunta es acerca de C # y / o .NET específicamente (como su etiqueta indicaría), todos de los tamaños de los tipos de datos son fijos, independientemente de la arquitectura del sistema. Esto es lo mismo que Java, pero diferente de C y C ++, donde tipo tamaños varían de una plataforma a otra.

Es común que los tipos integrales que tengan diferentes tamaños en diferentes arquitecturas en C y C ++. Por ejemplo, int fue de 16 bits de ancho en 16-bit DOS y 32 bits de ancho en Win32. Sin embargo, el estándar IEEE 754 es tan ubicuo para el cálculo de coma flotante que los tamaños de float y double hacer no variar en cualquier sistema se encuentra en el mundo real - Hace 20 años era double 64 bits y lo que es hoy en día.

Otros consejos

En c # doble es siempre de 8 bytes (64 bits)

No cambia.

Una forma sencilla de comprobar esto está escribiendo una aplicación de consola sencilla con

Console.WriteLine(Double.MaxValue);

y compilar a ambos x86 y x64.

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