Die Größen der Basistypen

Wie schon auf den vorherigen Seiten erwähnt, ist die Größe der Basistypen von dem Computer abhängig auf dem das Proramm compiliert wird und laufen soll, sprich von der Architektur des Computers. In der Regel benötigt der Typ char (bzw. unsigned char, signed char). Speicherplatz. In C++ gibt es den Operator sizeof mit dem die Größe des Typen herausgefunden werden kann. Dabei gilt definitionsgemäß: sizeof(char)=1. Dabei gelten folgende Ungleichungen:

  sizeof(short int) <= sizeof(int) <= sizeof(long int)
  sizeof(float) <= sizeof(double) <= sizeof(long double)

Typische Größenangaben und Wertebereiche sind in der folgenden Tabelle verzeichnet. Bei Microssoft C++ kann man auch spezielle Typen wie __int8 angeben, die dann exakt 8 Bit benötigen.

Typ Byte Wertebereich (signed) Wertebereich (unsigned) Anzahl der Stellen
[un]signed char 1 -128..127 0..255 (entfällt)
[un]signed short (int) 2 -32768..32767 0..65535 (entfällt)
[un]signed int 4 -2147483648..2147483647 0..4294967295 (entfällt)
[un]signed long (int) 8 -2^63..2^63-1 0..2^64-1 (entfällt)
float 4 (entfällt) +/- 3.4E +/- 38 7
double 8 (entfällt) +/- 1.7E +/- 308 15
long double 10 (entfällt) +/- 1.7E +/- 4932 19