Duale Gleitkommazahl in Dezimalzahl umrechen |
feivel
Grünschnabel
Dabei seit: 21.09.2018
Beiträge: 2
|
|
Duale Gleitkommazahl in Dezimalzahl umrechen |
|
Meine Frage:
Hallo, ich benötige eure Hilfe, ich habe eine 32 bit Gleitkommazahl nach IEEE754 umzurechnen.
Die Zahl Lautet:
0010 1000 1011 0010 1010 0001 0001 0010
Die Grundsätzliche Zusammensetzung ist ja:
0 01010001 01100101010000100010010
VZ Exponent Mantisse
Die Zahl ist positiv, was an VZ von 0 abzulesen ist.
Nun zum Exponenten, dieser beträgt in Dezimal 81.
Hiervon muss ich nun noch den Bias von 127 abziehen und erhalte daraus: 81-127= -46....
und schon habe ich keine Ahnung mehr was ich damit anfangen soll, berühmt ist ja die überall kursierende Zahl 18,4, bei denen aus dieser Rechnung eine 4 hervorgeht (131-127). Hier wird dann einfach nach der 1,xxx das Komma um 4 Stellen nach rechts verschoben und schon hat man die Zahl die man möchte... nur... was mache ich hier bei -46?
Ich finde hierzu keine Aussage, auch nicht in anderen Foren oder bei Wikipedia... könntet Ihr mir evtl. helfen?
Vielen Dank vorab!
Meine Ideen:
Idee steht im Text oben
|
|
21.09.2018 14:08 |
|
|
as_string
Haudegen
Dabei seit: 06.11.2013
Beiträge: 639
Herkunft: Heidelberg
|
|
Also, die 1 vor dem Komma musst Du Dir ja dazu denken und die entspricht dann bei einem Exponent von -46 einfach der 2^(-46).
Da die Mantisse mit einer 0 anfängt hast Du dann 0*2^-47, aber eine 1 bei der 2^-48 und bei der 2^-49, usw. Also fängt die Rechnung so an:
2^-46 + 2^-48 + 2^-49 + 2^-52 + 2^-54 + 2^-56 + ...
Klar, wie ich darauf komme? Frag ruhig nochmal, wenn nicht!
Gruß
Marco
|
|
22.09.2018 22:12 |
|
|
feivel
Grünschnabel
Dabei seit: 21.09.2018
Beiträge: 2
|
|
Hi Marco,
danke für deine Antwort.
Im Prinzip ist jetzt alles klar
.
Jedoch war mein Lösungsweg hier ein etwas anderer (ich habe mich am WE noch einmal etwas damit befasst).
Soweit ich das richtig verstehe ist die Formel ja:
Gleitzahl= Vz*2^Exponent*Mantisse
Vz=0=+
Exponent= -46
Also lautet die Formel schon mal: +*2^-46*Mantisse
Die Mantisse habe ich allerdings anders berechnet, und zwar habe ich einfach gesagt, dass nach der gedachten 1, nach dem Komma, der erste Wert 2^-1 ist, zum Schluss habe ich dann eine 2^-23 stehen. Jetzt je nachdem an welcher Stelle die 1 im Binärcode steht, den jeweiligen 2^x Wert in eine Addition gefasst. Das Ergebnis mit 1 addiert und dann in die Formel für "Mantisse" eingefügt.
Vielen Dank dir!
Gruß
Flo
|
|
24.09.2018 10:09 |
|
|
|