Double 64 Aufbau
IEEE 754 Double Precision: 1 Vorzeichenbit + 11 Exponentenbits + 52 Mantissenbits = 64 Bit. Bitfelder summieren sich exakt zur Gesamtbreite.
Double 64 Aufbau berechnen
IEEE 754 Double Precision: 1 Vorzeichenbit + 11 Exponentenbits + 52 Mantissenbits = 64 Bit. Bitfelder summieren sich exakt zur Gesamtbreite.
- Gesamt — Gesamtbits
- Mantisse — Mantissenbits
Worum geht es?
IEEE 754 Double Precision belegt 64 Bit und ist in den meisten Sprachen der Standardtyp für Fließkommazahlen (double, Float64, f64). Die Aufteilung ist analog zu Float32, aber Exponent und Mantisse sind deutlich breiter: 1 Vorzeichenbit, 11 Exponentenbits, 52 Mantissenbits.
Diese 64 Bit ergeben einen Wertebereich von rund ±1,8·10³⁰⁸ und etwa 15–17 signifikante Dezimalstellen. Für wissenschaftliches Rechnen ist Double daher der De-facto-Standard.
Die Formel
Gesamt = Vorzeichen + Exponent + Mantisse
= 1 + 11 + 52
= 64 Bit
Umstellung:
Mantisse = Gesamt − Vorzeichen − ExponentDie Variablen
| Symbol | Bedeutung | Einheit | Erklärung |
|---|---|---|---|
| Vorzeichen | Vorzeichenbits | Bit | Immer 1 Bit; 0 = positiv, 1 = negativ. |
| Exponent | Exponentenbits | Bit | 11 Bit, Wertebereich 0 … 2047 mit Bias. |
| Mantisse | Mantissenbits | Bit | 52 Bit Bruchteil mit implizitem Leitbit. |
| Gesamt | Gesamtbits | Bit | Summe der drei Felder, hier exakt 64. |
Minimal-Beispiel
Ableitung der Mantissenbits aus den anderen Feldern:
Mantisse = Gesamt − Vorzeichen − Exponent
= 64 − 1 − 11
= 52 BitPraxis-Beispiele
Beispiel 1 — Speicherbedarf eines Vektors
Ein Vektor mit 1 Mio. Double-Werten benötigt:
Bytes = N · 64 Bit / 8
= 1 000 000 · 8 Byte
= 8 000 000 Byte ≈ 7,63 MiBBeispiel 2 — Anzahl Mantissen pro Exponent
Mit 52 Mantissenbits sind 2⁵² ≈ 4,5·10¹⁵ verschiedene Bruchteile codierbar.
N_Mantisse = 2^52
≈ 4 503 599 627 370 496Beispiel 3 — Float32 zu Float64 Konvertierung
Bei der Umwandlung wachsen Exponent und Mantisse: 8 → 11 Bit Exponent, 23 → 52 Bit Mantisse. Die Werte werden exakt übertragen, keine Information geht verloren.
Float32: 1 + 8 + 23 = 32 Bit
Float64: 1 + 11 + 52 = 64 Bit