wie berechne ich den Exponenten bei Zahlenumrechnung?

Dr Franke Ghostwriter
ich komme mit dem e (Exponenten) bei der Zahlenumformung nicht klar.
Woher kriege ich den? Kann mir jemand das schrittweise anhand der Aufgabe aus der Übungsklausur erklären?

Aufgabe:

Stellen Sie die Dezimalzahlen Z1 = −53.28125 und Z2 = 77184 im 32-bit-
Format des IEEE-754-Standards in bin¨arer Form dar. Kennzeichnen Sie die
unterscheidbaren Bitfelder (Vorzeichen, baised Exponent, Mantisse).
 
Hach jetzt hab ich es auch raus gefunden... man man man, die hätten das aber im Skript auch ruhig mal erklären können!
Sone Sch****....

Für die Nachkommen hier:
Wenn ihr die Dezimalzahl in eine Binärzahl umgerechnet habt, dann ist e (Biased Exponent) gleich der Stellenanzahl, um die ihr das Komma verschieben müsst, bis eine 1 vor dem Komma steht.
Nach links verschieben -> positive Zahl
Nach rechts verschieben -> negative Zahl

Beispiel aus der Übungsklausur oben: 53.28125 in Binär= 110101,01001
Damit eine 1 vor dem Komma steht, muss das Komma 5 Stellen nach links verschoben werden: 1,1010101001
Somit ist e = 5.

Und nochmal ein Warnhinweis: in der KE2 PDF steht "E = e - b" - DAS IST FALSCH! "E = e + b" ist richtig.
 
Nachtrag nochmal:
Hach jetzt hab ich es auch raus gefunden... man man man, die hätten das aber im Skript auch ruhig mal erklären können!
Sone Sch****....

Für die Nachkommen hier:
Wenn ihr die Dezimalzahl in eine Binärzahl umgerechnet habt, dann ist e (Biased Exponent) gleich der Stellenanzahl, um die ihr das Komma verschieben müsst, bis eine 1 vor dem Komma steht.

Das fett markierte oben ist nicht genau genug: es darf nur noch eine Eins vor dem Komma stehen.
 
Ich fand die Ausführungen zum Thema IEEE 754 zunächst auch eher verwirrend...
Mir ist dann nach wiederholtem Lesen aufgefallen, dass das 2^(e-b) doch in Ordnung geht, wenn man bedenkt, dass hier das auslesen einer IEE 754- kodierten Dualzahl beschrieben wird.
Es wird also nicht e kodiert sondern der Exponent ausgelesen.
Der Kurstext beschreibt also wie man eine IEEE 754 kodierte Zahl in eine normale Dualzahl umformt...
E=e-b ist also auch richtig... für die EA musste man es aber in
e= E + b umformen....

E = Exponent
e = verschobener Exponent (IEEE 754 kodierter)

man sollte desweiteren bedenken, dass es auch negative Exponenten geben kann (wenn man das Komma nach rechts verschiebt) dann muss man
e= E-b verwenden..


Ich möchte auch noch einmal betonen, dass e nicht einfach die Anzahl der verschobenen Stelle ist, sondern e= 127 +/- Anzahl der verschobenen Stellen.

Bsp: 387,875 in Gleitkommazahl mit einfacher Genauigkeit umformen:
1. Dualzahl bestimmen: 110000011,111
2. Komma um 8 Stellen nach vorn verschieben E = 8
Dualzahl mit Exponent = 1,10000011111 * 2^8
2.1 Eintrag für das Mantissenfeld bestimmen (1 vor dem Komma weglassen) -> 10000011111
3. verschobenen Exponenten bestimmen e= 2^(8-1)-1+8=135 (+ da Komma nach links verschoben)
4. verschobenen Exponenten in Dualzahl umwandeln 135= 10000111
5. VZ ist positiv -> VZ-Feld =0

Es ergibt sich folgende IEE- 754 Zahl:
0[10 000 111][10 000 011 111 000 000 000 000]
 
Zuletzt bearbeitet:
Njaaa, jetzt muss man sich einig werden, wo man das kleine "e" und das große "E" ansetzt. Ich habe aus den Foren und Erklärungen bisher für mich beschlossen, dass E = 127 +/- Anzahl verschobener Stellen. Und e = Anzahl verschobener Stellen.
Somit machts bei mir "E = b + e" -> "e = E -b".
Und beim "nach rechts verschieben" gibt das "E = b -e" => "e=b-E" ...
 
Also ich mache das immer mit 6 Schritten (ohne Taschenrechner):
Beispiel -53,28125
1. Bias ist 127
2. -53,28125 liegt zwischen 2^5 und 2^6. Wir merken uns die 5
5
+bis=132.
3. 132 in binär umwandeln ist 10000100. So das ist schon einmal ein Teilergebnis.
4. Die Zahl 53,28125 in binär umwandeln.
53 ist 110101 (wir müssen uns aber wegen den vorherigen 2^5 nur 5 Ziffern merken). Also 10101 merken, Teil der Lösung.
0,28125 in binär umwandeln. 01001. Merken, auch Teil der Lösung.
5. Da es sich um eine negative Zahl handelt, merken wir uns eine 1.
6. Alles zusammenfügen: 1 (Vorzeichen) 10000100 (aus 3.) 10101 01001 .
Jetzt nur noch den Rest mit Nullen auffüllen.

Beispiel 81920
1. Bist ist 127
2. 81920 liegt zwischen 2^16 und 2^17. Wir merken uns die 16
16
+bias=143
3. 143 in binär umwandeln ist 10001111 So das ist schon einmal ein Teilergebnis.
4. Die Zahl 81920 in binär umwandeln.10100000000000000 (wir müssen uns aber wegen den vorherigen 2^1 nur 16 Ziffern merken). Also 0100000000000000 merken, Teil der Lösung.
5. Da es sich um eine positive Zahl handelt, merken wir uns eine 0
6. Alles zusammenfügen: 0 (Vorzeichen) 10001111 (aus 3.) 01000000000000000... (aus 4.) mit Nullen auffüllen
 
Zuletzt bearbeitet:
Oben