Post by Jens MüllerPost by Sebastian BiallasZuerst brauchst Du auch die richtige Mantisse, bevor da irgendwas
normalisiert wird. Wenn Du mal vorrechnen könntest, wie Du auf Deine
Werte kommst, kann ich Dir auch sagen, was da wo schiefläuft.
Ok, 5.75 ist 4+1+1/2+1/4 also binär ist 101.11
Das sieht ja schonmal gut aus.
Post by Jens MüllerMit einer Mantisse der Länge z.b. 6 und dem ersten Bit für das
Vorzeichen der Mantisse wäre das 0101.11
Jetzt würde man das in Mantisse/Exponenten 2-Komplementdarstellung
verschieben durch den Exponenten 2^3, also
0.10111 * 2^3
Ja.
Post by Jens MüllerDas ist normalisiert, gut.
Will ich nun -5.75 darstellen muss man wohl die Mantisse komplementieren
und 1 addieren, ergibt 101001.
Ah! Jetzt verstehe ich, wo diese Zahl überhaupt herkommen soll.
Post by Jens MüllerIrgendwas mache ich sicher falsch...
Ich kenne gar keine Fließkommadarstellung, bei der die Mantisse im
2er-Komplement gespeichert wird. Normalerweise speichert man
Vorzeichenbit getrennt von Mantisse/Exponent.
Allerdings gibt es zwei Arten die Mantisse m zu normalisieren:
1 <= m < 2 und 1/2 <= m < 1. (Also 1.xxxx vs. 0.1xxxx)
Die erste Möglichkeit wird von IEEE 754 verwendet. Da bei beiden
Möglichkeiten eine "1" an einer festgelegten Stelle steht, speichert man
diese nicht explizit mit (spart also ein Bit).
So, ich hab jetzt extra nochmal im Knuth nachgelesen, der erwähnt auch
nur das Vorzeichenbit getrennt von Mantisse/Exponent (und regt sich
darüber auf, das Ding "mantissa" zu nennen). Bist Du sicher, die
Mantisse im 2er-Komplement speichern zu wollen / zu müssen?
--
Gruß,
Sebastian