Warum klappt das mit int?
-
Hallo,
ich verstehe etwas zum wertebereich nicht: Also der wertebereich eines int liegt doch bei 32*** irgendwas. Warum kann ich trotzdem ohne probleme einen int mit z.B 100000 belegen? Kompilieren tuts ja und auch korrekt laufen - kann das sein?Danke
-
der wertebereich von int ist idR 4 byte groß, also ca +-2 Milliarden
was du meinst sind short mit 2byte
-
Die Wertebereiche der Typen sind in C++ nicht fest vorgegeben, sondern hängen vom Compiler und von der Zielplattform ab. Compiler für 16-Bit-Programme unter MS-DOS hatten einen int-Wertebereich von -32768..32767, auf 32-Bit-Systemen sind auch 32-Bit-Integers, von -2^31 bis 2^31 - 1, üblich (ob da ein Zusammenhang besteht?
).Es gibt vom C++-Standard her Mindestgrößen für die Typen. int muss beispielsweise mindestens den Bereich -32767 bis 32767 umfassen. Daran sollte man sich halten, wenn man an maximaler Portabilität interessiert ist.
-
Naja die Größe für int ist vom Standard indirekt vorgegeben. Int hat die "native Größe" also bei 16-Bit System 16 Bit und bei 32-Bit Systemen eben 32 Bit usw..