title image


Smiley Re: Wovon ist die Größe eines Datentyps abhängig?
Nein,

wie schon richtig gesagt wurde, legt der Compiler die Größe der Datentypen fest. Der Standard gibt gewisse Regeln vor, die eingehalten werden müssen. Natürlich sollte der Compiler die Datentypen so zuschneiden, dass sie vernünftig auf dem jeweiligen System eingesetzt werden können. Das Betriebssystem selber sollte natürlich auch auf die Anforderungen der CPU zugeschnitten sein.

Kurz gesagt:



1. C++ Typgrößen werden in Bytes angegeben. Ein Byte muss immer so groß sein, dass es

a) adressierbar ist

b) ein Zeichen des kleinsten Zeichensatzes des Rechners aufnehmen kann

c) mindestens 8 Bit groß ist.

2. sizeof() gibt die Größe eines Types in Bytes bzw. in chars an.

3. Es gelten folgende Beziehungen:

1 == sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long)

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

1 <= sizeof(wchar_t) <= sizeof(long)

sizeof(signed N) == sizeof(unsigned N) == sizeof(N)

4. Ein char muss wie gesagt min 8. Bit groß sein, ein short min. 16 Bit und ein long min. 32 Bit. Die Darstellung der Gleitkommatypen ist implementierungsabhängig.

5. Der Wertebereich eines signed Typen muss im positiven wie auch im negativen Bereich mindestens 2^(Bitzahl-1) - 1 entsprechen. D.h. der Wertebereich eines signed char muss min [-127;+127] sein. Die "weitere" Stelle im negativen Bereich ist nicht erforderlich.



geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: