Zeit/Zahlen
IEEE-754-Float-Konverter
Dezimalzahl ↔ binäre IEEE-754-Darstellung (einfache oder doppelte Genauigkeit) — Vorzeichen, Exponent, Mantisse, Sonderwerte.
Computer speichern Bruchzahlen binär nach dem IEEE-754-Standard — ein Vorzeichen, ein Exponent und eine Mantisse, verpackt in eine feste Anzahl Bits. Dieses Tool zeigt diese Darstellung für jede Dezimalzahl und wandelt sie wieder in eine Zahl um.
So verwendest du es
- Zahl → Bits: Gib eine Dezimalzahl ein, um ihre Aufteilung in Vorzeichen, Exponent und Mantisse für einfache (32-Bit) oder doppelte (64-Bit) Genauigkeit zu erhalten.
- Bits → Zahl: Füge eine Bitdarstellung ein, um den Dezimalwert zurückzuerhalten.
- Sonderwerte (Unendlich, NaN, vorzeichenbehaftete Null) werden erkannt und separat erklärt.
Typische Anwendungsfälle
- Verstehen, warum 0.1 + 0.2 in den meisten Programmiersprachen nicht genau 0.3 ergibt — eine konkrete Demonstration eines Rundungsfehlers.
- Die interne Darstellung von Float untersuchen, um Präzisionsgrenzen bei Finanz- oder wissenschaftlichen Berechnungen zu verstehen.
- Einen Binärdump oder ein Netzwerkpaket parsen, bei dem Zahlen im IEEE-754-Format übertragen werden.
Was du wissen solltest
Die meisten Dezimalbrüche (etwa 0.1) haben keine exakte binäre Darstellung — das ist die Grundursache der typischen Rundungsfehler in Berechnungsergebnissen.
Gleitkommazahlen auf exakte Gleichheit (===) zu vergleichen ist unzuverlässig — prüfe stattdessen, ob die Differenz kleiner als ein kleiner Schwellenwert (Epsilon) ist.
Artikel zu diesem Tool: IEEE 754: warum 0.1 + 0.2 im Code nicht gleich 0.3 ist
Häufig gestellte Fragen
Was ist der Unterschied zwischen einfacher und doppelter Genauigkeit?
Einfache Genauigkeit (float, 32 Bit) ergibt etwa 7 Dezimalstellen Genauigkeit, doppelte (double, 64 Bit) etwa 15-17. JavaScripts Number-Typ verwendet doppelte Genauigkeit.
Warum verlieren manche Dezimalzahlen an Genauigkeit?
IEEE 754 speichert Zahlen binär, und viele Dezimalbrüche (wie 0,1) haben keine exakte endliche Binärdarstellung — daher wird der nächstmögliche Wert mit einem winzigen Rundungsfehler gespeichert.
Was bedeuten NaN, Infinity und -0?
NaN ist das Ergebnis einer ungültigen Operation wie 0/0. Infinity/-Infinity erscheinen, wenn ein Wert den darstellbaren Bereich überschreitet (z. B. Division durch 0). +0 und -0 sind zwei verschiedene Bitdarstellungen der vorzeichenbehafteten Null, die als Zahlen dennoch gleich sind.
Was sind subnormale (denormalisierte) Zahlen?
Ein spezieller Darstellungsmodus für Zahlen, deren Betrag für das normale Format zu klein ist — die implizite führende Eins der Mantisse entfällt, wodurch man sich schrittweise null nähern kann, auf Kosten eines Teils der Genauigkeit.
Wie vergleicht man Bruchzahlen korrekt, statt auf exakte Gleichheit zu prüfen?
Statt a === b prüft man, ob die Differenz der Zahlen kleiner als ein kleiner Schwellenwert (Epsilon) ist: Math.abs(a - b) < 1e-9. Exakte Gleichheit ist wegen Rundungsfehlern fast nie garantiert.