Präzision, Wortbreite und was wirklich dahinter steckt
23.11.2025 aktualisiert 04.05.2026 4 Min. Lesezeit
Float vs. Double - Präzision, Wortbreite und was wirklich dahinter steckt
Nachdem wir im vorherigen Artikel verstanden haben, wie Fließkommazahlen grundsätzlich funktionieren, stellt sich eine naheliegende Frage:
Was ist eigentlich der Unterschied zwischen einemfloatund einemdouble?
Auf den ersten Blick wirken beide Datentypen ähnlich - schließlich speichern beide Kommazahlen. Der entscheidende Unterschied liegt jedoch in der Wortbreite, und genau hier lohnt es sich, etwas tiefer einzusteigen.
Was bedeutet „Wortbreite“?
Bevor wir Float und Double vergleichen können, müssen wir verstehen, was ein „Wort“ im Kontext eines Computers ist.
Ein Wort (Word) bezeichnet eine Grundeinheit an Daten, mit der ein Prozessor effizient arbeiten kann. Die Größe eines solchen Wortes nennt man Wortbreite.
Historisch und technisch üblich sind:
- 8 Bit (frühe Systeme)
- 16 Bit
- 32 Bit
- 64 Bit (moderne Systeme)
Ein 64-Bit-Prozessor kann zum Beispiel besonders effizient mit 64-Bit-Daten arbeiten.
Wichtig ist dabei:
Die Wortbreite bestimmt, wie viele Bits ein Datentyp typischerweise verwendet und wie viel Information gespeichert werden kann.
Float und Double im Vergleich
Nun kommen wir zu den beiden Datentypen:
| Typ | Bit-Breite | Bezeichnung |
|---|---|---|
| Float | 32 Bit | Single Precision |
| Double | 64 Bit | Double Precision |
Der Unterschied klingt zunächst trivial:
Ein Double hat einfach doppelt so viele Bits wie ein Float.
Doch diese zusätzlichen Bits haben enorme Auswirkungen.
Wie sich die Bits aufteilen
Sowohl Float als auch Double folgen dem IEEE-754-Standard, aber mit unterschiedlicher Aufteilung:
Float (32 Bit)
- 1 Bit Vorzeichen
- 8 Bit Exponent
- 23 Bit Mantisse
Double (64 Bit)
- 1 Bit Vorzeichen
- 11 Bit Exponent
- 52 Bit Mantisse
Was bedeutet das konkret?
Die zusätzliche Bitzahl beim Double wirkt sich auf zwei zentrale Aspekte aus:
1. Genauigkeit (Präzision)
Die Mantisse bestimmt, wie viele signifikante Stellen gespeichert werden können.
- Float: etwa 7 Dezimalstellen
- Double: etwa 15-16 Dezimalstellen
Das bedeutet:
Float → 3.1415927
Double → 3.141592653589793
``
Ein Double kann also deutlich feinere Unterschiede darstellen.
### 2. Zahlenbereich
Der Exponent bestimmt, wie groß oder klein Zahlen sein können.
Float: etwa 10−3810^{-38}10−38 bis 103810^{38}1038
Double: etwa 10−30810^{-308}10−308 bis 1030810^{308}10308
Das ist ein gigantischer Unterschied.
Warum heißt es „Double Precision“?
Der Name kommt nicht exakt daher, dass alles doppelt ist - sondern weil die Genauigkeit ungefähr verdoppelt wird.
Das ist eine direkte Folge der größeren Mantisse.
## Zusammenhang mit der Wortbreite
Hier wird es besonders interessant:
Die Wahl zwischen Float und Double ist eng mit der Architektur eines Systems verbunden.
Beispiel:
- Auf einem 32-Bit-System passt ein Float genau in ein Wort
- Ein Double benötigt zwei Wörter
- Auf einem 64-Bit-System passt ein Double perfekt in ein Wort
Das hat praktische Auswirkungen:
- Performance (wie schnell gerechnet wird)
- Speicherverbrauch
- Alignment im Speicher (wie Daten angeordnet sind)
Ein praktischer Blick: Warum nicht immer Double?
Wenn Double „besser“ ist - warum verwendet man dann überhaupt Float?
Die Antwort liegt in einem klassischen Zielkonflikt:
## Speicher vs. Genauigkeit vs. Geschwindigkeit
### Speicher
Ein Double benötigt doppelt so viel Speicher wie ein Float.
Das ist relevant bei:
- großen Datenmengen
- Grafikanwendungen (Millionen von Pixelwerten)
- Machine Learning
### Geschwindigkeit
Auf modernen Prozessoren ist der Unterschied oft klein - aber:
kleinere Daten → passen besser in Cache
weniger Speicherzugriffe → oft schneller
### Genauigkeit (die oft überschätzt wird)
Viele Anwendungen brauchen gar keine 15 Dezimalstellen.
Beispiel:
- Bildschirmkoordinaten
- Farben (RGB-Werte)
- Spielephysik
Hier reicht Float völlig aus.
## Typische Einsatzgebiete
### Float
- 3D-Grafik (z. B. Spiele, OpenGL, DirectX)
- Audioverarbeitung
- Machine Learning (oft sogar noch kleinere Typen)
### Double
- wissenschaftliche Berechnungen
- Simulationen
- Finanzmathematik (teilweise, aber oft Integer-basierte Lösungen)
## Ein wichtiges Praxisproblem
Der Unterschied zeigt sich besonders deutlich bei scheinbar harmlosen Berechnungen:
float_value = 0.1 + 0.2 double_value = 0.1 + 0.2
Beide sind ungenau - aber:
Float hat größere Abweichung
Double ist näher am „richtigen“ Ergebnis
Das liegt daran, dass ein Double die Zahl intern genauer approximieren kann.
## Ein mentales Modell
Du kannst dir Float und Double so vorstellen:
Float = grobe Skizze
Double = fein gezeichnetes Bild
Beide stellen dasselbe Motiv dar - aber mit unterschiedlicher Detailtiefe.
## Fazit: Die richtige Wahl treffen
Der Unterschied zwischen Float und Double ist letztlich eine Frage der vorhandenen Bits - also der Wortbreite - und wie diese Bits aufgeteilt werden.
Float verwendet 32 Bit → weniger Speicher, weniger Präzision
Double verwendet 64 Bit → mehr Speicher, deutlich höhere Präzision
Die wichtigste Erkenntnis:
Mehr Bits bedeuten mehr Information - aber auch mehr Kosten.
Gutes Softwaredesign bedeutet daher, bewusst zu entscheiden:
Brauche ich maximale Genauigkeit → Double
Reicht eine Näherung → Float
Nicht jede Näherung ist gleich gut - und die Wortbreite bestimmt, wie gut sie sein kann.