Blog as Art – Informatik, Webdesign Der Blog für N3rds – mit Stil

28Jan/123

Andere Richtung: IEEE 754 umwandeln

Da ich gestern die Richtung von einer Reellen Zahl zu IEEE 754 gezeigt habe, möchte ich heute auch die Gegenseite zeigen. Prinzipiell müssen wir die Schritte vom anderen Artikel in umgekehrter Reihenfolge durchführen.

  1. IEEE 754 aufteilen
  2. Exponent entschlüsseln
  3. Mantisse darstellen
  4. Zusammensetzen
  5. Umwandeln in Dezimalsystem

Als Beispiel nehmen wir eine 32-Bit Zahl die folgendermaßen aussieht:

11000001001101000000000000000000

1: IEEE 754 aufteilen

Wie wir wissen ist eine IEEE 754 mit 32-Bit so definiert, dass das 1 Bit das Vorzeichen darstellt, die folgenden 8 den Exponenten und die restlichen die Mantisse.

Für uns heißt das also:

10000010 01101000000000000000000

Vorzeichen V = 1
Kodierter Exponent e = 10000010
Mantisse M’ = 01101000000000000000000

2: Exponent entschlüsseln

Der Exponent ist so definiert, dass man die Zahl bei 32 Bit mit 127 subtrahiert (höchstwertiges Bit vom Exponententeil ist 2^7 und 128 stellt die 0 dar). Das heißt wir bekommen für den Exponenten:

E = e - 127_{10}
E = 10000010_2- 127_{10}
E = 2^7 + 2^1 - 127
E = 130 - 127 = 3

3: Mantisse darstellen

Die Mantisse wird in einer normierten Form dargestellt, welche man von links nach rechts ließt und nur die Nachkommastellen darstellt. Die führende 1 wurde weggelassen. Daraus ergibt sich:

M = 1,01101

Wie man sieht, kann man die Nullen dahinter natürlich weglassen.

4: Zusammensetzen

Die Zahl setzt sich folgendermaßen zusammen:

Z = (-1)^V \cdot M \cdot 2^E

Wir brauchen also nur einsetzen was wir vorher ermittelt haben:

Z = (-1)^1 \cdot 1,01101 \cdot 2^3 \newline Z = - 1011,01

5: Umwandeln ins Dezimalsystem

Der letzte Schritt ist jetzt noch die Umwandlung ins Dezimalsystem. Dazu kann man sich wieder eine Tabelle zur Hilfe nehmen:

Zahl 1 0 1 1 , 0 1
Wertigkeit 2^3 2^2 2^1 2^0 2^{-1} 2^{-2}
Dezimal 8 4 2 1 0,5 0,25

Jetzt brauchen wir nur noch alle Zahlen addieren wo eine 1 in der Spalte steht. Es ergibt sich also:

Z = -1011,01 = - (8 + 2 + 1 + 0,25) = -11,25

Informationen zur Umwandlung in anderer Richtung und etwas mehr Hintergrundinformationen findet ihr in diesem Artikel.

hat dir dieser Artikel gefallen?

Dann abonniere doch diesen Blog per RSS Feed!

Kommentare (3) Trackbacks (1)
  1. hallo,

    sag mal kannst du mir sagen, wie man 2^-2 auf dem blatt rechnet? wir dürfen keinen taschenrechner benutzen.

    und wenn wir jetzt z.b. die zahl: 1011,11 haben, ist es dann die zahl 11,75??

  2. Hi Marcus,
    ich komme ganz mit bei Zusammensetzten also Nr.4 der Aufgabe. Könntest du das näher erläutern?
    Thnx Labi


Kommentieren

Connect with Facebook