Dezimal zu Float32 Wert
Berechnet den Float32-Dezimalwert aus den drei Bitfeldern: Wert = (−1)^S · 2^(E − 127) · (1 + M / 2^23).
Dezimal zu Float32 Wert berechnen
Berechnet den Float32-Dezimalwert aus den drei Bitfeldern: Wert = (−1)^S · 2^(E − 127) · (1 + M / 2^23).
Worum geht es?
Ein Float32 speichert keinen Dezimalwert direkt, sondern drei Bitfelder: Vorzeichen S, Exponent E und Mantisse M. Die eigentliche Dezimalzahl ergibt sich aus dem standardisierten Bildungsgesetz nach IEEE 754:
Der gespeicherte Exponent E liegt mit Bias 127 vor. Die Mantisse hat ein implizites Leitbit 1 vor dem Komma — daher der Term (1 + M / 2²³). Sonderfälle wie ±0, ±∞ und NaN sind hier nicht berücksichtigt; die Formel gilt für normalisierte Werte.
Die Formel
Wert = (−1)^S · 2^(E − 127) · (1 + M / 2^23)Die Variablen
| Symbol | Bedeutung | Einheit | Erklärung |
|---|---|---|---|
| S | Vorzeichen | — | Vorzeichenbit: 0 = positiv, 1 = negativ. |
| E | Exponent | — | Gespeicherter Exponent (0 … 255) inkl. Bias 127. |
| M | Mantisse | — | Mantisse als Integer 0 … 2²³ − 1 (8 388 607). |
| Wert | Dezimalwert | — | Resultierender reeller Wert (normalisierter Fall). |
Minimal-Beispiel
Bits eines Float32: S = 0, E = 128, M = 0.
Wert = (−1)^0 · 2^(128 − 127) · (1 + 0 / 2^23)
= 1 · 2 · 1
= 2,0Praxis-Beispiele
Beispiel 1 — Die Zahl 1,0 in Float32
Die Eins hat S = 0, E = 127 (Bias-Null), M = 0:
Wert = (−1)^0 · 2^(127 − 127) · (1 + 0 / 2^23)
= 1 · 1 · 1
= 1,0Beispiel 2 — Negative Zahl
S = 1, E = 129, M = 2 097 152 (entspricht 0,25 nach Skalierung):
Wert = (−1)^1 · 2^(129 − 127) · (1 + 2 097 152 / 8 388 608)
= −1 · 4 · 1,25
= −5,0Beispiel 3 — Bruchwert 0,75
S = 0, E = 126, M = 4 194 304 (= 0,5 nach Skalierung):
Wert = (−1)^0 · 2^(126 − 127) · (1 + 4 194 304 / 8 388 608)
= 1 · 0,5 · 1,5
= 0,75