Datentypen in C++

8 Basis-Datentypen

bool, char, int, short, long, float, double und long double

  • einen booleschen Typen (bool)

nimmt lediglich die booleschen Werte wahr (true) und falsch (false) an; bei Umwandlung in eine Zahl werden die beiden Wahrheitswerte als 1 bzw. 0 dargestellt

  • Zeichentypen (char)

speichert typischerweise einzelne Zeichen wie z.B. 'A' oder '#', wobei es neben dem unspezifischen char auch die vorzeichenlose Variante unsigned char und die vorzeichenbehaftete signed char gibt; streng genommen handelt es sich bei diesem Typ um „sehr kleine Zahlen“ (z.B. mit dem Wertebereich -128...+127 oder 0...255)

  • drei ganzzahlige Typen (int, short und long)

speichern je nach Typ ganze Zahlen in verschiedenen Wertebereichen; ohne nähere Angabe oder mit signed sind die Werte vorzeichenbehaftet, mit unsigned hingegen vorzeichenlos Bsp.: 2, 5, -2500,…

  • drei Fließkommatypen (float, double und long double)

dienen zur Speicherung von Fließkommazahlen mit verschiedener Genauigkeit (z.B. double=doppelte Genauigkeit)

 

ISO-Standard für C++

Der ISO-Standard für C++ sieht folgende Mindestgrößen vor:

  • char 8 Bit
  • short 16 Bit
  • int 16 oder 32 Bit
  • long 32 Bit

 

// Variablen.cpp: Hauptprojektdatei.

#include <iostream>

using namespace std;

int main()
{
	// Deklaration
	int zahla;
	int zahlb;
	
	// Definition
	zahla = 20;
	zahlb = 10;
	ergebnis = zahla + zahlb;
	
	cout << "Speicherplatz: " << sizeof ( ergebnis ) << endl;
	
	system("PAUSE");
	return 0;
}

 

sizeof leitet eine Speichergrößenabfrage ein. In unserem Beispiel die Größe der Variable ergebnis.

Als Ergebnis müssten sie nun Speicherplatz: 4 bekommen. Das bedeutet 4 Byte nimmt dieses int auf. Ausgerechnet ergibt das 4*8 = 32 Bit und das ergibt 4 Byte, da jedes Byte 8 Bit groß ist.

Bei kleineren Zahlen (bis 16 Bit) kann man anstatt des Befehls int den Befehl short nehmen.

Nun kann man diese Befehle auch definieren. Zum Beispiel signed short für negative und positive Zahlen oder unsigned short für Zahlen die nur im positiven Bereich liegen.

 

Befehle float, double und long double 

Um mit Kommazahlen (zB.: 3,8 oder 5,7) arbeiten zu können brauchen wir neue Befehle:

  • float  entspricht 4 Byte
  • double entspricht 8 Byte
  • long double doppelt genau

 

Datentypen char und bool

weitere Datentypen sind:

  • char entspricht einem Buchstaben (a, b, c,…)
  • bool entspricht der Wahrheit oder auch nicht (true, false)