Frage zur int Größe
-
Hallo zusammen,
auf 16 Bit System ist der Wertebereich einer int Variablen ja sehr viel kleiner als ein int auf einem 32 Bit System. Auch der Speicherbedarf ändert sich (2 Byte, 4 Byte).Bedeutet dies:
1.) Da es ja heute eigentlich keine Computer mehr gibt, die unter 32 Bit arbeiten, dass es eigentlich egal ist, ob ich long oder int benutze?
2.) Könnte ich auf einem 64 Bit System den WErtebereich einer int variablen vergrößern (2^64)? wenn ja wie?
Vielen Dank für eure Hilfe
lg, freakC++
-
Die größen sind im C++ Standard nicht festgeschrieben. Daher kann es von System zu System unterschiedlich sein.
Häufig gibt es aber typedefs (z.B. im C99) wie z.B. uint64_t oder int32_t die einen unsigned 64-bit bzw einen signed 32-bit Typ repräsentieren.
-
Es gibt allerdings mindestgrößen die erfüllt sein müssen, z.B. size_t muss mindestens 2^16 speichern können.
Krampf dir keinen ab, sondern bastel dir einfach ein paar typedefs bzw. benutze stdint.h bzw. inttypes.h, hauptsache du benutzt nicht direkt int, short, etc. wo es auf die Größe ankommt.
Heutzutage sind Bytes 8Bit groß, von daher ist diese ganze Schererei eh mehr oder weniger hinfällig und jeder Compiler wird dir Typen mit 8, 16, 32 oder 64Bits anbieten können, Zielplattform hin oder her.
-
Mindestgrößen schrieb:
Krampf dir keinen ab, sondern bastel dir einfach ein paar typedefs bzw. benutze stdint.h bzw. inttypes.h, hauptsache du benutzt nicht direkt int, short, etc. wo es auf die Größe ankommt.
Dareuf erstmal einen Daumen hoch.

Und jetzt muß ich erstmal Popcorn kaufen.
-
volkard schrieb:
Und jetzt muß ich erstmal Popcorn kaufen.
Selber gemachtes schmeckt viel besser