Datentypen - Prozessor-, Betriebssystemabhängigkeit
-
Hallo,
wer kennt sich aus mit der Prozessor- oder Betriebssystemabhängigkeit von Datentypen in C/C++?
Welcher Typ, int oder long, ist abhängig vom Prozessor oder Betriebssystem?Das was ich bis jetzt ermitteln konnte ist:
Datentyp JAVA C/C++ 32bit C/C++ 64bit int 4 Byte 4 Byte 4 Byte long 8 Byte 4 Byte 8 Byte long long - 8 Byte 8 Byte
Stimmt das? Wer kann mir da näheres dazu sagen oder Seiten im Internet nennen?
Danke und Grüße
dziuba
-
Darauf darfst Du Dich bei C++ nicht verlassen.
Wenn Du Datentypen einer bestimmten Größe brauchst, dann verwende boost::int32 und Co!
-
In C wird garantiert:
char mind. 8 Bit short mind. 16 Bit int mind 16 Bit long mind. 32 Bit long long mind. 64 Bit
Größer können sie immer sein. Kleiner dürfen sie nicht sein.
-
@TactX
in C gibt es aber auch typedefs mit vorgegebenen Größen in stdint.h. Boost hat dafür cstdint.hpp
-
Ähmm, habe ich was gegenteiliges gesagt?
-
TactX schrieb:
Ähmm, habe ich was gegenteiliges gesagt?
hab ich ja auch nicht behauptet. Ich meine nur die typedefs ala uint8_t etc. Ist eben ein unterschied, ob ein Typ mindestens 8 bit groß ist oder genau 8 bit
-
kingruedi schrieb:
TactX schrieb:
Ähmm, habe ich was gegenteiliges gesagt?
hab ich ja auch nicht behauptet. Ich meine nur die typedefs ala uint8_t etc. Ist eben ein unterschied, ob ein Typ mindestens 8 bit groß ist oder genau 8 bit
Ja, klar. Aber warum sagst du das mir?