Verschoben! Division im Binärsystem

Neue Frage »

Adramelec Auf diesen Beitrag antworten »
Division im Binärsystem
Hallo!
Ich habe 2 Gleitkomma Zahlen
(Wobei die Aufteilung ich wie folgt gewählt habe:
1 Bit = Mantissen vorzeichen bit
10 Bits = Mantisse
5 Bits = Exponent )

291,3 = 0 1001000110 01001
645 = 0 1010000101 01010

Die Division die ich durchführen will ist 291,3/645. Mein Ergebnis in Gleitkommadarstellung ist:
0 1010100010 11111

Kann das Ergebnis jemanden bestätigen? (Oder hat jemand ein Link wo ich online diese Rechnung durchführen kann?)

Danke!
Bakatan Auf diesen Beitrag antworten »

Das nächste mal schreibe noch dazu, wie deine Mantisse bzw Exponent kodiert sind. Es sieht hier danach aus als wäre dein Exponent im Zweierkomplement und deine Mantisse ohne preceding 1 sondern mit einem meines Erachtens extrem ungewöhnlichen preceding 0, also als Beispiel


IEEE754 sieht z.B. vor, dass der Exponent mit Hilfe eines Bias kodiert wird (also einfach die Exponent-Bits als reine Binärzahl gesehen und dann minus dem Bias) und die Mantisse als "beginnt immer mit 1" gesehen wird, spezifischer ist die "echte Mantisse" wobei M die angegebene Binärzahl und p die Anzahl der Bits der Mantisse sind. Das ist, da die "echte" Mantisse immer die Form 1.*** haben wird.

Wenn ich deine Zahlen allerdings so betrachte wie ich vermute, dass sie gemeint sind, so stimmen die Umrechnungen der ursprünglichen Zahlen (bei 291.3 geht leider unvermeidbar die .3 komplett verloren, 10 Bit Mantisse ist halt etwas wenig). Der Exponent deines Ergebnisses stimmt ebenfalls, bei der Division der Mantissen ist aber irgendetwas schief gegangen. Das kannst und solltest du auch immer selbst probieren:


Sicherlich werden die Ergebnisse nicht exakt übereinstimmen, näher als das sollte es aber schon sein Augenzwinkern

PS: Ich kenne keine Stelle um diese Rechnung durch zu führen, verwende aber als Hilfe immer Wolfram. Wenn du dieselbe Kodierung wie im Computer verwenden würdest, könnte man einfach schnell ein Programm schreiben was die Rechnung durchführt, schließlich ist das nahezu "Hello World" im Programmieren.

edit: vorherigen edit teilweise wieder entfernt
Adramelec Auf diesen Beitrag antworten »

Danke für die ausführliche Erklärung! smile

Ich habe den Fehler mittlerweile gefunden.

Danke! Wink
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »