Primitive Datentypen
- Im folgenden wollen wir die wichtigsten Datentypen, die auch in den meisten Programmiersprachen vorhanden sind, vorstellen. Manche dieser Typen wie z.B. die der ganzen oder der reellen Zahlen, umfassen theoretisch unendlich viele Werte.
Die meisten Programmiersprachen schränken daher die verfügbaren Werte auf verschieden große endliche Bereiche ein.
Dies hat zur Folge, daß bei der Überschreitung dieser Bereiche Fehler auftreten können (s. Raketenabsturzbeispiel beim Umrechnen von 64-Bit Float in 16-Bit Integer).
Datentypen für Boolesche Werte
- Der einfachste Datentyp besteht aus den booleschen Werten true und false. Man bezeichnet diesen Datentyp mit dem englischen Ausdruck boolean (Java) oder mit bool (C++).
Der benötigte Speicherplatz für diesen Datentyp beträgt in Java 2 Bytes und in C++ 1 Byte.
Für die Durchführung von logischen Operationen stehen in Java und C++ folgende Operationen zur Verfügung:
Operator (Java/c++) Verwendung Operation & / && op1 & op2 AND | / || op1 | op2 OR ^ / op1 ^ op2 XOR ! / ! !op1 NOT
Datentypen für ganze Zahlen
- Zur Darstellung ganzer Zahlen ohne Nachkommastelle gibt es
- in Java die Datentypen byte, short, int und long und
- in C++ short int, int und long int
Als elementare Operationen auf diesen Datentypen gelten die arithmetischen Oprationen +, -, *, /.
In Java sind alle ganzzahligen Datentypen vorzeichenbehaftet, wohingegen in C++ dies durch die Schlüsselwörter signed und unsigned angegeben wird.
In Java ergeben sich folgende ganzzahlige Datentypen:
Datentyp Größe in Bytes Wertebereich byte 1 27...27-1 short 2 215...215-1 int 4 231...231-1 long 8 263...263-1
Datentypen für reelle Zahlen
- Datentypen für reelle Zahlen dienen der Speicherung von Zahlen mit Nachkommastellen. In Java stehen hierzu die Typen float und double und in C++ float, double und long double zur Verfügung. Als elementare Operationen auf diesen Datentypen gelten ebenfalls die arithmetischen Operationen +, -, *, /.
In Java gibt es die folgenden Gleitkommatypen:
Datentyp Größe in Bytes Wertebereich float 4 -3,4x1038 bis +3,4x1038 double 8 -1,7x10308 bis +1,7x10308 long double (C++) 10 -1,1x104932 bis +1,1x104932
Datentypen für Zeichen
- Sowohl in Java als auch in C++ wird ein Zeichen durch den Datentyp char (engl. character) dargestellt. Während C++ dazu die 256 ASCII-Zeichen verwendet, stellt Java bereits den gesamten UNICODE-Zeichensatz zur Verfügung.
Zur Darstellung eines Zeichens werden daher in Java 2 Byte und in C++ 1 Byte benötigt.