Digitaltechnik und Halbleiterschaltungsentwurf
IEEE-754 WebApp
Bei der Darstellung besonders großer Werte und Zahlen nahe 0 stoßen Festkommaformate schnell an ihre Grenzen. Die Gleitkommaformate des 1989 eingeführten IEEE Standard 754 erweitern den darstellbaren Zahlenbereich maßgeblich. Das -Format besteht aus 32 Bits. Dabei gibt das erste Bit \(S\) das Vorzeichen an. Die nächsten 8 Bits beschreiben den Exponenten \(E\). Die restlichen 21 Stellen geben den Wert der Mantisse \(M_\text{f}\) an. Eine Zahl \(x\) berechnet sich aus dem gegebenen Bitmuster zu $$ x = (-1)^S \cdot 2^{E-OS} \cdot (1 + M_\text{f}) $$ Dabei wird der Offset \(OS = 127\) verwendet, um auch negative Exponenten zu ermöglichen.
Für die Umrechnung einer Zahl \(x\) = in das Single Precision-Format werden zuerst die Binärrepräsentationen des Vor- und Nachkommateils der Zahl separat bestimmt. (vgl. Berechnung Vorkommateil und Nachkommateil)
Die sich ergebende Zahl \(x_2= \)(1111011.0111⋯)2 muss nun in die normalisierte Form gebracht werden. D.h. \(x_2\) muss mit der Zweierpotenz 2\(-e\) = 26 multipliziert werden, wodurch das Komma um 6 nach links verschoben wird. In der normalisierten Form steht somit vor dem Komma immer eine 1. Als Mantisse \(M_f\) werden die ersten 21 Ziffern des Nachkommateils abgespeichert. Der Vorkommateil ist mit 1.⋯ für jede Zahl in normalisierter Form gleich und muss nicht abgespeichert werden. Das Vorzeichen des Exponenten wird über den Offset \(OS = 127\) berücksichtigt. Abgespeichert wird der biased exponent \(E = OS + e\) (hier 13310 = 100001012).
0 | 10000101 | 111011011101001011111001
Variante 2
Für die Umrechnung einer Zahl \(x\) = in das Single Precision-Format muss zuerst der Exponent \(e\) der normalisierten Form bestimmt werden. Die Zahl \(x\) kann damit als \(x=M\cdot 2^e\) dargestellt werden. Mit \(e = \lfloor \log_2 x \rfloor\) ist M eine Zahl zwischen 1 und 2.
Hier ist wichtig zu beachten, dass negative Exponenten betragsmäßig aufgerundet werden. Der Nachkommateil \(M_f\) der Mantisse \(M\) kann nun in das Dualsystem umgewandelt werden. (Siehe hier) Zum Exponenten wird noch der Offset \(OS=127\) addiert. Dieser sogenannte biased exponent kann ebenfalls in das Binärsystem überführt werden.
0 | 10000101 | 111011011101001011111001