Das eBook Angewandte Mikroelektronik wurde von Hans Lohninger zur Unterstützung verschiedener Lehrveranstaltungen geschrieben. Weitere Informationen finden sie hier.


Gleitkommazahlen

Für die binäre Darstellung von Gleitkommazahlen gibt es einen IEEE-Standard (IEEE P754); die meisten Arithmetik-Prozessoren und Gleitkomma-Softwarepakete arbeiten damit. In diesem Standard sind zwei Formate definiert, die unterschiedliche Genauigkeit und einen unterschiedlichen Wertebereich zulassen (einfache und doppelte Genauigkeit; single und double precision). Diese beiden Formate sind als 32-Bit-Zahl bzw. 64-Bit-Zahl definiert. Das 32-Bit-Format ist ein Kompromiss zwischen Rechengeschwindigkeit und Genauigkeit (6 Dezimalstellen) zugunsten der Ausführungsgeschwindigkeit, während das 64-Bit-Format eine Genauigkeit von etwa 17 Dezimalstellen ermöglicht.

Neben diesen beiden dem Benutzer zugänglichen Formaten, wird vom IEEE-Standard zur Berechnung von Zwischenergebnissen eine noch höhere Genauigkeit (extended precision) gefordert, um Rundungsfehler zu verhindern. Dieses Format ist jedoch nicht spezifiziert - es wird dem Anwender überlassen ein geeignetes Format zu verwenden. Intel und Motorola verwenden für ihre Arithmetikprozessoren ein 80-Bit-Format.

Nachstehende Abbildung zeigt die Spezifikation der Formate für single und double precision. Jede Gleitkommazahl nach dem IEEE-Standard besteht aus einer binär dargestellten vorzeichenlosen Mantisse, einem binären Exponenten und einem Vorzeichenbit.
Gleitkommadarstellung nach IEEE P754

Das Vorzeichenbit ist null bei einer positiven Zahl, eins bei einer negativen. Der Exponent ist eine binäre, ganze, positive Zahl. Um dennoch Zahlen mit negativem Exponenten darstellen zu können, wird zum Exponenten ein fixer Wert (Offset oder Bias) addiert, der genau die Hälfte des Wertebereichs des Exponenten ausmacht.

Die Mantisse der Gleitkommazahl wird immer normiert dargestellt, d.h. dass das erste Bit der Mantisse immer gleich eins ist. Ein Beispiel soll das verdeutlichen:

Beispiel

Ist eine Zahl vor der Normalisierung mit

0.00010110110110 (Exp. = 0)

angegeben, so wird sie nach der Normalisierung durch

1.0110110110000 (Exp. = -4)

dargestellt. Es wird also die Mantisse solange nach links geschoben, bis das erste Bit vor dem Komma gleich eins ist. Der Exponent wird bei jedem Schritt um eins erniedrigt. Bei Zahlen die größer gleich zwei sind, geschieht das selbe in die umgekehrte Richtung: Die Mantisse wird nach rechts geschoben und der Exponent jeweils um eins erhöht.

Die Forderung, dass Gleitkommazahlen nach dem IEEE-Standard immer normalisiert sein müssen, ermöglicht es, das erste Bit beim Speichern einfach wegzulassen, da es ohnehin immer gleich eins sein muss. Dadurch gewinnt man für die Genauigkeit der Darstellung der Mantisse ein Bit. Der Wert einer Gleitkommazahl nach IEEE-Format ergibt sich also zu

(-1)Vorzeichen x Mantisse x 2Exponent-Offset.

Die Zahl Null wird durch Vorzeichen=0, Exponent=0 und Mantisse=0 dargestellt.


Last Update: 2008-05-31