Zeit/Zahlen
IEEE-754-Float-Konverter
Dezimalzahl ↔ binäre IEEE-754-Darstellung (einfache oder doppelte Genauigkeit) — Vorzeichen, Exponent, Mantisse, Sonderwerte.
Computers store fractional numbers in binary under the IEEE 754 standard — a sign, an exponent, and a mantissa, packed into a fixed number of bits. This tool shows that representation for any decimal number and parses it back into a number.
How to use it
- Number → bits: enter a decimal number to get its breakdown into sign, exponent, and mantissa for single (32-bit) or double (64-bit) precision.
- Bits → number: paste a bit representation to get the decimal value back.
- Special values (infinity, NaN, signed zero) are recognized and explained separately.
Common uses
- Understanding why 0.1 + 0.2 doesn't exactly equal 0.3 in most programming languages — a concrete demonstration of rounding error.
- Studying float's internal representation to understand precision limits in financial or scientific calculations.
- Parsing a binary dump or network packet where numbers are transmitted in IEEE 754 format.
Things to keep in mind
Most decimal fractions (0.1, for example) have no exact binary representation — that's the root cause of the typical rounding errors seen in calculation results.
Comparing floating-point numbers for exact equality (===) is unreliable — check instead whether the difference is smaller than a small threshold (epsilon).
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.