C-Basic: Datentypen in Embedded C/C++ und deren Größen
Bevor eine Variable im Programm verwendet werden kann, muss sie deklariert werden. Datentypen werden verwendet, um einer Variablen einen Typ zuzuweisen. Es ist wichtig die Größe der Unterschiedlichen Datentypen zu kennen um Variablenüberläufe zu verhindern.
Der Wertebereich eines Datentypes kann dabei über folgende Formel berechnet werden:
Integer Datentypen:
C-Typen | stdint.h Typen |
Bits | Vorzeichen | Wertebereich |
---|---|---|---|---|
char | uint8_t | 8 | Unsigned vorzeichenlos |
0 bis 255 |
signed char | int8_t | 8 | Signed mit Vorzeichen |
-128 bis 127 |
unsigned short | uint16_t | 16 | Unsigned vorzeichenlos |
0 bis 65,535 |
short | int16_t | 16 | Signed mit Vorzeichen |
-32768 bis 32767 |
unsigned int
(2 oder 4 Byte) |
uint32_t | 32 | Unsigned vorzeichenlos |
0 bis 4294967295 |
int (2 oder 4 Byte) | int32_t | 32 | Signed mit Vorzeichen |
-2147483648 bis 2147483647 |
unsigned long long |
uint64_t | 64 | Unsigned vorzeichenlos |
0 bis 18446744073709551615 |
long long | int64_t | 64 | Signed mit Vorzeichen |
-9223372036854775808 bis 9223372036854775807 |
Je nach Plattform kann ein int / unsigned int 2 oder 4 Byte groß sein. Um die genaue Größe eines Typs oder einer Variablen auf einer bestimmten Plattform zu erhalten, kann der sizeof Operator verwendet werden. Der Ausdruck sizeof(type) liefert die Speichergröße des Objekts oder Typs in Bytes. Es folgt ein Beispiel, um die Größe des int Typs auf jeder Maschine zu erhalten.
Gleitkomma-Typen
Die folgende Tabelle zeigt die Details von Standard Gleitkomma-Typen mit Speichergrößen und Wertebereichen und deren Genauigkeit.
C-Typen | Bits | Wertebereichen | Genauigkeit |
---|---|---|---|
float | 32 | 1,2E-38 to 3,4E+38 | 6 Nachkommastellen |
double | 64 | 2,3E-308 to 1,7E+308 | 15 Nachkommastellen |
long double | 80 | 3,4E-4932 to 1,1E+4932 | 19 Nachkommastellen |
Die Header-Datei float.h definiert Makros, mit denen diese Datentypen verwendet werden können, sowie die Abfrage von Informationen über die binäre Darstellung von reellen Zahlen. Das folgende Beispiel druckt den von einem Gleitkomma-Typ belegten Speicherplatz und seine Wertebereich.
Der void-Datentyp
Der Void-Typ gibt an, dass kein Wert verfügbar ist.
Noch keine Kommentare.