Wie stellen Computer reele Zahlen dar?

Computer verwenden zur Darstellung von Zahlen das Binärsystem.

Ganze Zahlen lassen sich problemlos aus dem Dezimalsystem in das Binärsystem überführen. Bei reellen Zahlen1 stellt sich jedoch das Problem, dass das Binärsystem keine Dezimaltrennzeichen2 vorsieht.

Festkommazahlen

Eine Möglichkeit zur Darstellung von reellen Zahlen im Binärsystem besteht darin, Binärzahlen mit einer festen Anzahl von Ziffern zu verwenden und festzulegen, ab welcher Stelle der Vorkommateil endet und der Nachkommateil beginnt. Da das (gedachte) Komma hier an einer festen Stelle ist, werden Zahlen, die in dieser Form dargestellt werden, Festkommazahlen genannt.

Je mehr Ziffern für die Vorkommastellen reserviert sind, desto größer ist der Wertebereich. Umgekehrt bedeuten weniger Ziffern für die Vorkommastellen mehr Ziffern für die Nachkommastellen und damit eine höhere Genauigkeit.

Bei der Nutzung von Festkommazahlen muss man sich also zwischen großem Wertebereich und großer Genauigkeit entscheiden oder einen Kompromiss wählen.

Gleitkommazahlen

Eine Alternative stellen Gleitkommazahlen dar, bei denen die (gedachte) Position des Kommas nicht wie bei Festkommazahlen fixiert ist. Auf diese Weise können sowohl sehr große Zahlen, die jedoch nur wenige Nachkommsastellen besitzen, als auch sehr genaue Zahlen, die viele Nachkommastellen jedoch wenige Vorkommastellen besitzen, gespeichert werden.

Eine Gleitkommazahl ist die Exponentialdarstellung einer reellen Zahl:

z = m * b e, wobei m ∈ [1; b[

(reelle Zahl z, Mantisse m, Basis b, Exponent e)

Beispiel
Dezimalzahl Gleitkommazahl
(Basis b=10)
Gleitkommazahl
(Basis b=2)
z m * 10 e m * 2 e
0,1865 1,865 * 10 -1 1,492 * 2 -3
18,65 1,865 * 10 1 1,165625 * 2 4
186,5 1,865 * 10 2 1,45703125 * 2 7

Der Computer speichert eine Gleitkommazahl, indem er sich die Nachkommastellen der Mantisse und den Exponenten merkt. Die Basis muss nicht gespeichert werden, da Computer stets die Basis b=2 verwenden. Die Vorkommateil der Mantisse beträgt immer 1, da er im Intervall [1; b[ liegen muss.

Sollen sowohl positive wie auch negative Zahlen gespeichert werden, ist in der Regel das erste Bit zur Abbildung des Vorzeichens reserviert. Eine 1 bedeutet dabei, dass es sich um eine negative Zahl handelt.

Desweiteren muss vorgegeben sein, wieviele der verbleibenden Bit für den Exponenten reserviert sind. Die restlichen Bit sind dann für die Speicherung der Mantisse verfügbar.

Beispiel

Computer verwenden zur Speicherung von Gleitkommazahlen in der Regel die Datentypen single und double.

Datentyp Vorzeichen
Exponent Mantisse Gesamtgröße
float (single) 1 Bit 8 Bit 23 Bit 32 Bit
double 1 Bit 11 Bit 52 Bit 64 Bit

Gleitkommazahlen sind nur Näherungen. Falls die Binärdarstellung nicht genügend Stellen für die Speicherung der Mantisse vorsieht, wird gerundet. Wird die Binärzahl dann wieder zurück in eine Dezimalzahl umgewandelt, kommt es aufgrund der Rundung zu einer Abweichung.