|
Dieser Typ bezeichnet den Bereich der ganzen Zahlen. Es
sind die folgenden Operatoren definiert:
- + Addition
- - Subtraktion
- * Multiplikation
- / Ergebnis der ganzzahligen Division
- % Rest der ganzzahligen Division
Bei jedem Computer spezifiziert der Typ
"Integer" nur eine Untermenge der ganzen Zahlen
im mathematischen Sinn, und zwar die Menge aller Zahlen,
die betragsmäßig kleiner als ein bestimmter Maximalwert
sind. Dies bedeutet, daß die Axiome der Arithmetik nur
innerhalb dieser Untermenge gelten. Normalerweise wird
eine Länge gewählt, die einem Vielfachen der Wortläge
des Prozessors entspricht. Es gilt fü die Wortlänge:
short <= int <= long int.
In ANSI-C wird als Minimum definiert:
Typ |
Wertebereich |
int |
-32768 ... 32767 |
long int |
-2147483648 ... 2147483647 |
short int |
-32768 ... 32767 |
unsigned int |
0 ... 65535 |
unsigned long int |
0 ... 4294967295 |
unsigned short int |
0 ... 65535 |
Character
Dieser Typ bezeichnet eine endliche, geordnete Menge von
Zeichen (Characters). Der Typ Character stützt sich auf
den im jeweiligen Computer verwendeten Code zur
Darstellung von Zeichen (ASCII, EBCDIC, ANSI). Er ist
also nur insofern Standard, als der zugrundeliegende
Zeichensatz Standard ist. Mit diesem Typ werden auch zwei
vom Zeichensatz abhängige Konversionsmöglichkeiten
zwischen "Character" und "Integer"
eingeführt (In C "Typecasting", siehe später).
In ANSI-C wird als Speichergröße ein Byte definiert:
Typ |
Wertebereich |
char |
-127 ... 128 oder 0 ... 255 |
unsigned char |
0 ... 255 |
Achtung: Um die verschiedenen nationalen Zeichensätze unter einen
Hut zu bringen, wurde UNICODE entwickelt. Das hat zur Folge, daß
char auch 16 Bilt lang sein kann.
Real bzw. Float
Dieser Datentyp stellt nicht Variablen aus dem
Wertebereich der reelen Zahlen, sondern Gleitpunktzahlen
dar. Die Repräsentation dieser Werte hängt auch wieder
von der Realisierung im jeweiligen DVS ab (Zahl der
gültigen Stellen, Wertemaxima). Bei vielen Systemen wird
dieser Datentyp auch durch Nachbildung per Software
(Emulation) realisiert. Insbesondere sind die
assoziativen und distributiven Gesetze nicht mehr
gültig! Auf dem Datentyp Real sind vier Operatoren
definiert:
- + Addition
- - Subtraktion
- * Multiplikation
- / Division
Anmerkung: Eine explizite Konversion von Integer nach
Real existiert nicht. Diese Konversion wird implizit bei
der Übersetzung des Ausdrucks vorgenommen. Es gilt fü
die Wortlänge: float <= double <= long double.
In ANSI-C wird als Minimum definiert:
Typ |
Wertebereich
Vorzeichen beliebig |
Mantissen- stellen |
float |
3,4*10-38 ... 3,4*10+38 |
>=6 |
double |
1,7*10-308 ... 1,7*10+308 |
>=10 |
long double |
1,7*10-308 ... 1,7*10+308 |
>=10 |
|
| |