Die dritte wichtige Klasse von elementaren Typen ist wie schon
gesagt die der Fließkommatypen. Fließkommazahlen sind
Zahlen, die aus einem Vorzeichen, einer Zahl als Binärbruch (der
sogenannten Mantisse) und einer Binärzahl als Exponent bestehen.
Die dargestellte Zahl ergibt sich dann daraus, daß man den
Binärbruch als Zahl interpretiert, mit Zwei hoch dem Exponenten
multipliziert und das Vorzeichen voranstellt. Auf diese Art und Weise
können sehr unterschiedliche Zahlen dargestellt werden, von sehr
kleinen (negativer Exponent) bis zu sehr großen (positiver
Exponent).
Nachteil ist dabei, daß fast keine Zahl
genau dargestellt werden kann. Es entstehen Rundungsfehler, die sich
im Laufe von Berechnungen verstärken können. Vor allem wenn
unterschiedlich große Zahlen zusammenaddiert werden, fällt
die kleinere dabei der Rundung zum Opfer. So mag zwar die Zahl i =
0,00000000000000009 recht genau dargestellt werden, aber es kann
passieren, daß 1+i-1 Null ergibt, da die Zahl
1,00000000000000009 als 1 dargestellt wird.
Fließkommazahlen
sind somit nicht nur durch ihren Wertebereich bestimmt, der sich im
wesentlichen aus der Größe des Exponenten ergibt, sondern
auch aus der Genauigkeit, die sich im wesentlichen aus der Größe
der Mantisse ergibt. Auch hier gibt es verschiedene Typen, die
unterschiedlich viel Speicher belegen. Dies sind: float,
double und long double.
Auch hier sollte
die genaue Größe wieder in der Compilerbeschreibung
stehen, oder in der Datei float.h.