Zahl in IEEE umrechnen |
22.10.2014, 19:38 | Auf diesen Beitrag antworten » | |||||
123michi19 | Zahl in IEEE umrechnen Meine Frage: Hi zusammen, noch eine Frage zur Umrechnung einer Dezimalzahl in eine Gleitzahl (IEEE) Die Zahl lautet 18,4. 1) S bestimmen, positives Vorzeichen, daher 0 2) n bestimmen -> n = 4 B = 4+127 = 131 (befinden uns im Binary 32) In Binär: 10000011_2 3) Mantisse: b = (18,4 / 16) - 1 = 0,15 So, jetzt zu meinem Problem: Überlauf 0,15*2 = 0 0,30 * 2 = 0 0,6*2 = 1 0,2 * 2 = 0 0,4*2 = 0 0,8*2 = 1 0,6*2 = 1 0,2*2 = 0 Jetzt befinde ich mich in der Lage, dass immer die Gleiche Folge rauskommt. Wie kann ich dies dann in der Mantisse schreiben? Am Ende heißt es bei mir ja dann: 0 I 10000011 I (hier muss die Mantisse noch hin) Meine Ideen: Vielen Dank für Eure Unterstützung :-) |
|||||
|
||||||
22.10.2014, 20:33 | Auf diesen Beitrag antworten » | |||||
eulerscheZahl | Bis dahin alles richtig. Ja, das wird periodisch. Du nimmst einfach die ersten 23 Bit der Binärfolge und schreibst sie in die Mantisse. Die Zahl 18,4 kann binär nicht exakt gespeichert werden, was bei Weiterverwendung des Ergebnisses zu Problemen führen kann. Beispiel:
in summe steht jetzt nicht 0, sondern -0.000954 (mit g++ kompiliert) |
|||||
22.10.2014, 20:35 | Auf diesen Beitrag antworten » | |||||
123michi19 | Vielen Dank für deine Antwort. Die 23 Bit sind dann standardmäßig, falls in der Klausur wirklich eine Perioden-Mantisse (gibt es dieses Wort überhaupt ) kommt? |
|||||
22.10.2014, 20:41 | Auf diesen Beitrag antworten » | |||||
eulerscheZahl | Das ist genormt - und das ist auch gut so. 23 Bit Mantisse bei float (32bit Gleitpunktzahl) und 52 Bit bei double (64bit) |
|||||
Anzeige | ||||||
|
||||||
23.10.2014, 13:08 | Auf diesen Beitrag antworten » | |||||
123michi19 | Top, dankeschön :-) |
|
Verwandte Themen
Die Beliebtesten » |
|
Die Größten » |
|
Die Neuesten » |
|