Zum Inhalt springen
100% lokal

IEEE 754 Konverter

Konvertieren Sie eine Dezimalzahl in ihr IEEE-754-Bitmuster oder Bits zurück in eine Zahl.

Eingabe
Ausgabe

IEEE 754 Konverter

Jede Gleitkommazahl, die ein Computer speichert, ist eigentlich ein Vorzeichenbit, ein Exponent und eine Mantisse, die nach IEEE 754 zusammengepackt sind — dem Standard, den C, Java, Python und JavaScript für ihre Zahlentypen verwenden. Geben Sie eine Dezimalzahl ein und dieses Tool kodiert sie in das genaue Bitmuster; geben Sie das Bitmuster zurück ein und es dekodiert es in eine Zahl. Mit einem Klick können Sie die Richtung wechseln.

Es werden zwei Genauigkeitsstufen unterstützt: 32-Bit einfach (1 Vorzeichenbit, 8 Exponentenbits, 23 Mantissenbits — ein C float oder ein Rust f32) und 64-Bit doppelt (1 + 11 + 52 — ein C double und das, was jede JavaScript-Zahl intern ist). Das Bitmuster kann als Hexadezimal oder als einfache Zeichenkette aus Nullen und Einsen geschrieben werden, wobei die Bytereihenfolge auf Big-Endian oder Little-Endian eingestellt werden kann, um zu entsprechen, wie ein Debugger oder ein Speicherabbild die Bytes anordnet.

Aktivieren Sie „Vorzeichen / Exponent / Mantisse anzeigen“, um die drei Felder aufgeteilt zu sehen — der schnellste Weg, um zu sehen, warum sich eine Zahl so kodiert. Aktivieren Sie „Tatsächlich gespeicherten Wert und Rundungsfehler anzeigen“, um zu sehen, was mit einer Zahl nach der Speicherung passiert: 3,14 ist in keiner Genauigkeit genau, und das Tool zeigt den tatsächlich gespeicherten Wert zusammen mit der Lücke zwischen dem, was Sie eingegeben haben und dem, was die Hardware behält — der Grund, warum Gleitkommavergleiche im Code fehlschlagen. Spezielle Werte — 0, -0, Infinity, -Infinity und NaN — konvertieren alle in ihre definierten Muster, eine pro Zeile, sodass eine ganze Liste auf einmal konvertiert wird.

Alles läuft lokal in Ihrem Browser, wobei die gleiche DataView verwendet wird, die die JavaScript-Engine selbst zum Lesen und Schreiben von IEEE-754-Gleitkommazahlen verwendet — keine serverseitige Gleitkommabibliothek und keine Daten verlassen Ihr Gerät.

Häufige Fragen

Was ist IEEE 754?
Es ist der Standard, der definiert, wie Computer Nicht-Ganzzahlen im Binärformat speichern: ein Vorzeichenbit, ein Exponent und eine Mantisse (Bruchteil). Einfache Genauigkeit verwendet insgesamt 32 Bits, doppelte Genauigkeit 64 — die Formate hinter float und double in C, f32 und f64 in Rust und jeder Zahl in JavaScript.
Warum dekodiert sich 3,14 nicht genau zurück zu 3,14?
Die meisten Dezimalbrüche können im Binärformat nicht genau dargestellt werden, genauso wie 1/3 nicht genau im Dezimalformat geschrieben werden kann. Der tatsächlich gespeicherte Wert ist der nächste Wert, den das Format halten kann — aktivieren Sie „Tatsächlich gespeicherten Wert anzeigen“, um ihn und die Größe der Lücke zu sehen.
Was ist der Unterschied zwischen einfacher und doppelter Genauigkeit?
Einfache Genauigkeit (32 Bits) hat weniger Platz für die Mantisse, also rundet es mehr Zahlen und verliert mehr Präzisionsziffern. Doppelte Genauigkeit (64 Bits) ist für viel mehr Werte genau — das ist das, was JavaScript-Zahlen bereits intern sind, also verliert das Hin- und Zurückgeben einer doppelten Genauigkeit durch dieses Tool nie etwas.
Was ändert die Bytereihenfolge?
Sie beeinflusst nur, wie dieselben Bits zum Lesen oder Eingeben in Bytes gruppiert werden — Big-Endian schreibt das signifikanteste Byte zuerst, Little-Endian zuletzt, gemäß der Anzeige durch einen Debugger oder ein Hex-Dump des Speichers auf einer bestimmten Architektur. Die Zahl selbst und die Aufschlüsselung Vorzeichen/Exponent/Mantisse ändern sich nicht.
Werden meine Eingaben irgendwo hochgeladen?
Nein. Die Konvertierung läuft vollständig in Ihrem Browser mit den gleichen Binary-Read/Write-APIs ab, auf die die JavaScript-Engine selbst angewiesen ist — nichts, was Sie hier eingeben, wird an einen Server gesendet.