Minimaler positiver Gleitkommawert
Kleinster positiver normalisierter Wert: MinVal = 2^(2 − 2^(e−1)). Für Float32 ≈ 1,18·10⁻³⁸, für Float64 ≈ 2,23·10⁻³⁰⁸.
Minimaler positiver Gleitkommawert berechnen
Kleinster positiver normalisierter Wert: MinVal = 2^(2 − 2^(e−1)). Für Float32 ≈ 1,18·10⁻³⁸, für Float64 ≈ 2,23·10⁻³⁰⁸.
- MinVal — Minimalwert
- e — Exponentenbits
Worum geht es?
Der kleinste positive normalisierte IEEE-754-Wert entsteht bei kleinstmöglichem gespeichertem Exponenten (gespeichert = 1, da 0 für Null und Subnormalzahlen reserviert ist) und einer leeren Mantisse. Das ergibt nach Berücksichtigung des Bias den realen Exponenten 1 − (2^(e−1) − 1) = 2 − 2^(e−1).
Für Float32 ergibt sich ≈ 1,18·10⁻³⁸, für Float64 ≈ 2,23·10⁻³⁰⁸. Werte darunter sind nur noch als subnormale Zahlen (mit Genauigkeitsverlust) oder als positive Null darstellbar.
Die Formel
MinVal = 2^(2 − 2^(e−1))
Umstellung:
e = log₂(2 − log₂(MinVal)) + 1Die Variablen
| Symbol | Bedeutung | Einheit | Erklärung |
|---|---|---|---|
| e | Exponentenbits | Bit | Anzahl Exponentenbits (8 bei Float32, 11 bei Float64). |
| MinVal | Minimalwert | — | Kleinster positiver normalisierter Wert. |
Minimal-Beispiel
Float32: e = 8.
MinVal = 2^(2 − 2⁷)
= 2^(2 − 128)
= 2⁻¹²⁶
≈ 1,1754944 · 10⁻³⁸Praxis-Beispiele
Beispiel 1 — Float64
e = 11.
MinVal = 2^(2 − 2¹⁰)
= 2^(2 − 1024)
= 2⁻¹⁰²²
≈ 2,2250739 · 10⁻³⁰⁸Beispiel 2 — Half Precision (Float16)
e = 5.
MinVal = 2^(2 − 2⁴)
= 2⁻¹⁴
≈ 6,1035 · 10⁻⁵Beispiel 3 — Subnormaler Bereich
Unterhalb von MinVal beginnt der subnormale Bereich, der mit reduzierter Mantissenpräzision bis hinunter zu 2⁻¹⁴⁹ (Float32) bzw. 2⁻¹⁰⁷⁴ (Float64) reicht. Bei Float32:
Min_Subnormal = 2⁻²³ · MinVal
= 2⁻²³ · 2⁻¹²⁶
= 2⁻¹⁴⁹
≈ 1,4 · 10⁻⁴⁵