Binär Nachkommazahl in Dezimal umwandeln
Binär Nachkommazahl in Dezimal umwandeln
Zum beispiel in IEEE-754 die mantisse von dual nach dezimal umwandeln.
1000 1001 1010 1011 1100 000 ist die zahl aus Ü4.3.b)
wenn ich 1/2 + 1/32 + 1/256 ... mach dann bin ich ja am ende der klausur grad mal mit einer zahl fertig.
Es gab da mal so ein ganz dolles verfahren mit dem es relativ schnell ging, kennts jemand und kann mans ihrgendwo nachlesen?
1000 1001 1010 1011 1100 000 ist die zahl aus Ü4.3.b)
wenn ich 1/2 + 1/32 + 1/256 ... mach dann bin ich ja am ende der klausur grad mal mit einer zahl fertig.
Es gab da mal so ein ganz dolles verfahren mit dem es relativ schnell ging, kennts jemand und kann mans ihrgendwo nachlesen?
-
- Computerversteher
- Beiträge: 325
- Registriert: 11. Dez 2005 13:14
- Wohnort: Darmstadt
Re: Binär Nachkommazahl in Dezimal umwandeln
Ein etwas schnelleres Verfahren ist vielleicht das folgende:Freebord hat geschrieben:Zum beispiel in IEEE-754 die mantisse von dual nach dezimal umwandeln.
1000 1001 1010 1011 1100 000 ist die zahl aus Ü4.3.b)
wenn ich 1/2 + 1/32 + 1/256 ... mach dann bin ich ja am ende der klausur grad mal mit einer zahl fertig.
Es gab da mal so ein ganz dolles verfahren mit dem es relativ schnell ging, kennts jemand und kann mans ihrgendwo nachlesen?
Gegeben sei der Binärbruch 0,100010011010101111 (dein Beispiel ohne überflüssige 0en am Ende). Um jetzt die erste Dezimalziffer zu bekommen, multiplizierst du diese Zahl mit 10. Die Zahl 10 ist in binär 1010, die Multiplikation damit ist also sehr einfach, das ist nur eine einzige Addition. Du addierst die um 3 nach links geshiftete Zahl zu der um 1 nach links geshifteten:
Code: Alles auswählen
100,010011010101111
+ 1,00010011010101111
-----------------------
101,01100000101101011
Jetzt machst du mit dem Rest, also mit 0,01100000101101011 das gleiche:
Code: Alles auswählen
011,00000101101011
+ 0,1100000101101011
----------------------
11,1100011100010111
Optimal ist das Verfahren aber sicher nicht, denn man muss immer noch für jede gewonnene Dezimal-Stelle einiges aufschreiben. Aber die Rechenoperationen sind bedeutend einfacher als 1/2 + 1/32 + 1/256 + ... direkt mit Brüchen auszurechnen und man bekommt in jedem Schritt genau eine Dezimalstelle.
Edit: 101_2 ist natürlich 5 und nicht 7.
Zuletzt geändert von Christoph-D am 11. Sep 2008 15:29, insgesamt 2-mal geändert.
"I believe in the fundamental interconnectedness of all things." (Dirk Gently)
Re: Binär Nachkommazahl in Dezimal umwandeln
ok das ist auf jeden fall schon mal einfacher, als brüche, aber das dauert ja auch ewig. Ist es das verfahren aus der vorlesung? Und gibt es wirklich kein einfacheres?
Re: Binär Nachkommazahl in Dezimal umwandeln
ehm die dezimal zahl ist 0,53777694...
du hast dich verzählt richtig gerechnet, aber falsch von binär auf dezimal umgewandelt ^_^
wann hörte ich denn auf mit dem verfahren??? Die zahl ist doch unendlich in dezimal. In der musterlösung haben sie auf 0,537777 gerundet???
du hast dich verzählt richtig gerechnet, aber falsch von binär auf dezimal umgewandelt ^_^
wann hörte ich denn auf mit dem verfahren??? Die zahl ist doch unendlich in dezimal. In der musterlösung haben sie auf 0,537777 gerundet???
-
- Computerversteher
- Beiträge: 325
- Registriert: 11. Dez 2005 13:14
- Wohnort: Darmstadt
Re: Binär Nachkommazahl in Dezimal umwandeln
Wenn du einen abbrechenden Binärbruch in einen Dezimalbruch umwandelst, wird der Dezimalbruch ebenfalls abbrechen. Der Grund dahinter ist, dass 10 durch 2 teilbar ist. Du machst also so lange weiter, bis der Rest nur noch 0 ist oder du die gewünschte Genauigkeit erreicht hast. Der Rest wird immer irgendwann 0 werden, weil der Binärbruch abbricht und du jedesmal mindestens ein Feld nach links shiftest.Freebord hat geschrieben:ehm die dezimal zahl ist 0,53777694...
du hast dich verzählt richtig gerechnet, aber falsch von binär auf dezimal umgewandelt ^_^
wann hörte ich denn auf mit dem verfahren??? Die zahl ist doch unendlich in dezimal. In der musterlösung haben sie auf 0,537777 gerundet???
Wenn man das Verfahren so lange anwendet, bis der Rest 0 ist, bekommt man die volle Genauigkeit: 0,5377769470214844.
Ich hatte oben 0,73 raus, weil ich mich vertan hatte: 101 ist natürlich 5 und nicht 7, die ersten beiden Ziffern sind also 0,53.
"I believe in the fundamental interconnectedness of all things." (Dirk Gently)
-
- Sonntagsinformatiker
- Beiträge: 253
- Registriert: 25. Okt 2006 17:44
Re: Binär Nachkommazahl in Dezimal umwandeln
Also ich behaupte mal, wer so was in der Klausur fordert, der ... na ja.Freebord hat geschrieben:Zum beispiel in IEEE-754 die mantisse von dual nach dezimal umwandeln.
1000 1001 1010 1011 1100 000 ist die zahl aus Ü4.3.b)
wenn ich 1/2 + 1/32 + 1/256 ... mach dann bin ich ja am ende der klausur grad mal mit einer zahl fertig.
Die Beispiele für das manuelle Rechnen (auf Papier) (nehmen wir mal das umfangreiche Beispiel aus der Übung weg, denn da hat man ja auch mehr Zeit) beschränken sich auf Zahlen wie -0,4375 oder 1,875. Das sind solche Zahlen, die man durchaus noch mit den ersten 3-4 Summanden der Nachkommastellen zusammen bekommt:
0,5
+0,25
+0,125
+0,0625
Alles was darüber hinausgeht ist ja schon Schikane und bringt auch keinen geistigen Mehrwert mehr für eine (Um-) Rechnung.
Gruß TM
Re: Binär Nachkommazahl in Dezimal umwandeln
Da keine Taschenrechner zugelassen sind, gehe ich auch nicht davon aus, dass so etwas drankommt.tmx-master hat geschrieben:Alles was darüber hinausgeht ist ja schon Schikane und bringt auch keinen geistigen Mehrwert mehr für eine (Um-) Rechnung.
-
- Nerd
- Beiträge: 555
- Registriert: 19. Okt 2006 14:41
- Wohnort: Darmstadt / Alzenau
- Kontaktdaten:
Re: Binär Nachkommazahl in Dezimal umwandeln
In der Übung ging es darum zu verstehen wie es geht. Ich wiederhole mich auch gerne von damals wieder: Es geht nicht drum, wer der beste Taschenrechnerersatz ist.
Re: Binär Nachkommazahl in Dezimal umwandeln
nicht...?Mspringer hat geschrieben:...Es geht nicht drum, wer der beste Taschenrechnerersatz ist.

"Unter allen menschlichen Entdeckungen sollte die Entdeckung der Fehler die wichtigste sein.", Stanisław Jerzy Lec