sizeof(int) == 4
-
Hi,
Ist
sizeof(int) == 4
auf allen gängigen Architekturen wahr?MFG fsd.
-
nein
-
Nein int kann auch nur 2Bytes haben.
-
Welche Architektur wäre das?
MFG fsd.
-
MS-DOS PCs
8bit Microcontroller
-
Sparc, Alpha oder Itanum haben wahrscheinlich 8 byte
-
Alpha-ints haben 4 Byte.
-
Sparc, Alpha oder Itanum haben wahrscheinlich 8 byte
Nach dem Buch Linux-Device-Drivers haben diese alle 4 byte.
Ich denke, ich kann ein int nehmen, denn auch wenn es architekturen mit 8 byte gibt (hab noch keine gefunden), kann ich mit dem Informationsverlust leben.
danke für die Antworten!
MFG fsd.
-
Und was wäre bei einer Architektur mir nur 2Byte?
Verwende doch einfach long
-
fsdeveloper schrieb:
Ich denke, ich kann ein int nehmen, denn auch wenn es architekturen mit 8 byte gibt (hab noch keine gefunden), kann ich mit dem Informationsverlust leben.
4 Bytes mehr sind ein Informationsverlust?
-
benutz doch einfach typedefs (int32_t etc.), die du mit einem configure Script für die Platform anpasst (viele Compiler haben auch entsprechende typedefs. zB. der GCC in stdint.h)
@cd9000
wahrscheinlich benutzt er nur die unteren 4bytes (oder oberen, je nach Endianess ;)) und dann ist das schon nen Informationsverlust :p
-
Ich speichere das int in eine Datei ab; als exakt 4 byte. Deshalb informationsverlust. Wenn ich ein 8byte int hätte, müsste ich daraus erst ein 4byte machen und es dann in die Datei schreiben:)
MFG fsd.