negative Zahlen im IEEE darstellen?

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

tunik123  18.11.2021, 15:52

Ich habe der Antwort ein Beispiel hinzugefügt.

0