El Tamaño de doble byte de 32 bits y 64 bits OS
-
12-09-2019 - |
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?
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.