Das Double Byte Größe in 32-Bit und 64-Bit-OS
-
12-09-2019 - |
Frage
Gibt es einen Unterschied in Größe rel="noreferrer"> wenn ich laufe meine App auf 32- und 64-Bit-Umgebung?
Wenn ich die Doppel bin in 32-Bit-Umgebung aufnehmen wird nicht verkannt 16 Stellen nach 0, während die Doppel in 64 Bit werden 32 Bit aufnehmen, bin ich richtig?
Lösung
Nein, ein IEEE 754 mit doppelter Genauigkeit Gleitkommazahl ist immer 64 Bit. In ähnlicher Weise eine einfache Genauigkeit float
ist immer 32 Bit.
Wenn Ihre Frage ist über C # und / oder speziell .NET (wie Ihr Tag würde angeben), alle der Datentyp Größen festgelegt sind, unabhängig von Ihrer Systemarchitektur. Dies ist die gleiche wie Java, aber verschieden von C und C ++, wo Typengrößen von Plattform zu Plattform variieren können.
Es ist üblich, dass die integralen Typen verschiedene Größen auf unterschiedliche Architekturen in C und C ++ zu müssen. Zum Beispiel war int
16 Bit breit in 16-Bit-DOS und 32 Bit breit in Win32. Doch für die Floating-Point-Berechnung des IEEE 754-Standard so allgegenwärtig ist, dass die Größen von float
und double
tun nicht auf jedem System variieren Sie in der realen Welt finden - vor 20 Jahren waren double
64 Bit und so ist es heute.
Andere Tipps
C # Doppel ist immer 8 Byte (64 Bit)
Es ändert sich nicht.
Ein einfacher Weg, dies zu überprüfen, wird eine einfache Konsolenanwendung mit
SchreibenConsole.WriteLine(Double.MaxValue);
und sowohl x86 und x64 kompilieren.