negative Zahlen im IEEE darstellen?
Hallo,
Ich würde gerne die Zahl - 21,25 im IEEE single Format darstellen. Dafür wird die Kommazahl ja erstmal in Binär umgewandelt. Jetzt weiß Ich jedoch nicht genau wie das geht. Ich weiß wie man negative ganze Zahlen im Einerkomplement, Zweierkomplement und Vorzeichendarstellung darstellt, Ich weiß auch wie man positive Kommazahlen darstellt, jedoch weiß Ich nicht wie man dies mit Kommazahlen macht. Mit Ek,Zk Vorzeichendarstellung?
Wäre super wenn mir jemand helfen könnte vielleicht auch mit einer beispielhaften Rechnung :)
Danke schonmal!
1 Antwort
https://de.wikipedia.org/wiki/IEEE_754
Gleitkommazahlen werden nicht als Zweierkomplement gespeichert. Für das Vorzeichen gibt es ein extra Bit.
Dann folgt der Exponent (-126 .. +127) der wird auch nicht im Zweierkomplement gespeichert, sondern man addiert 127, um ihn positiv zu machen.
Dann kommt die Mantisse, normalisiert auf Werte von 1,000... bis 1,111...
Die 1 vor dem Komma wird nicht abgespeichert, um Platz zu sparen.
[Antwort um Beispiel ergänzt]
-21.25 und 32-Bit-float umwandeln
Das Vorzeichenbit ist 1
21.25
Die größte Zweierpotenz, durch die geteilt werden kann, ist 16. Der Exponent ist also 4.
4 + 127 = 131
Die Exponentenbits sind 10000011
Die Mantisse ist 21.25 / 16 = 1.328125
Das multiplizieren wir mit 2^24 und erhalten 11141120 = 0xaa0000
Im Dualsystem ist das 1010 1010 0000 0000 0000 0000
Das obere 1-Bit wird nicht gespeichert.
Die 23 Mantissenbits sind also 010 1010 0000 0000 0000 0000.
Insgesamt (Vorzeichen, Exponent und Mantisse) ist das
1 10000011 010 1010 0000 0000 0000 0000
Die Bits in Vierergruppen:
1100 0001 1010 1010 0000 0000 0000 0000 = 0xc1aa0000