Zahlen, Bitoperationen und Einheiten

IEEE-754-KonverterDen gespeicherten Wert verstehen

Eine Dezimalzahl mit ihrem Speicherwert vergleichen oder ein vollständiges Hex- beziehungsweise Binärwort auslesen.

IEEE-754-Konverter

Eingabe

Die Eingabe wird in diesem Browser verarbeitet und nicht an einen Server gesendet.

Dezimalzahlen mit Punkt und optionalem e/E-Exponenten. Hex: 8/16 Stellen; binär: 32/64 Bits. Wörter erlauben 0x/0b sowie Leerzeichen und Tabs.

Ergebnis

Dezimalanzeige · 9 / 17 signifikante Stellen

0.100000001

Normal

Vorzeichenbit · Bits: 1

0

Gespeicherter Exponent · Bits: 8

01111011

Bruchteilfeld · vorzeichenlose Ganzzahl · Bits: 23

10011001100110011001101
Genauigkeit
32 Bit · binary32
Eingabedarstellung
Dezimalzahl
Hexadezimalwort
0x3DCCCCCD
Binärwort
00111101110011001100110011001101
Vorzeichenbit
0
Gespeicherter Exponent
123
Effektiver Exponent
-4
Bruchteilfeld · vorzeichenlose Ganzzahl
5033165
Implizites führendes Bit
1
Formel des exakten Werts
13421773 × 2^-27
Konvertierungsergebnis
Zum nächsten Wert, bei Gleichstand gerade
Exakter Speicherwert · dezimal
0.100000001490116119384765625
Differenz · Speicherwert − Eingabe
0.000000001490116119384765625

Optionen

Direkt zur Zielgenauigkeit runden: nächster Wert, bei Gleichstand gerade. Ein Wechsel der Genauigkeit oder Darstellung interpretiert den Text neu. Höchstens 1024 Zeichen; expliziter Dezimalexponent −4096…4096.

Analyse abgeschlossen.

Der IEEE-754-Konverter hilft, wenn ein Debugger eine kurze Dezimalzahl zeigt, der Vergleich im Programm aber anders ausfällt. Öffnen Sie die vollständige Dezimalentwicklung und prüfen Sie die Differenz zum eingegebenen Wert.

Gleitkommazahlen umwandeln und vorhandene Wörter auslesen sind zwei verschiedene Aufgaben. Bei Dezimaleingabe wird gerundet; bei Hex-Eingabe bleiben die Bits erhalten. Prüfen Sie bei Speicherabbildern zuerst Wortbreite und Byte-Reihenfolge.

Warum diesen IEEE-754-Konverter verwenden?

Ein Ziel auf zwei Zahlenrastern

Der IEEE-754-Konverter rundet dieselbe exakte Dezimalzahl getrennt nach float32 und float64. Aus 0.1 wird bei einfacher Genauigkeit 0.100000001490116119384765625. Doppelte Genauigkeit liegt näher am Ziel, trifft es aber ebenfalls nicht exakt. Das Vorzeichen der Differenz zeigt die Richtung der Abweichung.

Ein gemeinsamer Zielpunkt wird auf ein grobes und ein feines Zahlenraster projiziert; Ringe markieren die jeweils nächsten darstellbaren Punkte.

NaN-Muster auseinanderhalten

7FC00001 und 7FC00002 sind beide quiet NaNs, enthalten jedoch unterschiedliche Nutzdaten. Beim Auslesen bleiben die Wörter, ihr Vorzeichen und das Quiet-Bit erhalten. So können Sie Registerinhalte vergleichen, obwohl die übliche Dezimalanzeige für beide nur NaN meldet.

Zwei NaN-Wörter mit verschiedenen Nutzdatenmarkierungen behalten diese in ihren getrennten Ausgaben.

Darstellung und Genauigkeit bewusst wählen

01

Zuerst die Bedeutung festlegen

Voreingestellt sind Dezimalzahl 0.1 und binary32. Der Wechsel zu Hex wandelt den Text nicht um, sondern ändert seine Interpretation. Fügen Sie ein vollständiges Wort mit dem höchstwertigen Bit links ein.

02

Die vollständigen Stellen ansehen

Die kurze Anzeige nutzt 9 signifikante Stellen bei binary32 und 17 bei binary64. Die exakte Dezimalentwicklung bleibt vollständig verfügbar. Die Differenz ist Speicherwert minus Eingabe; ein negatives Ergebnis bedeutet einen kleineren gespeicherten Wert.

03

Ersetzungen in der Vorschau prüfen

Beispiel öffnet fünf Vorlagen, darunter negative Null und ein NaN mit Nutzdaten. Anwenden ersetzt die Eingabe, Rückgängig stellt Eingabe und Ergebnis wieder her. Automatik wartet 350 ms; ausgeschaltet stehen Analysieren und Ctrl/Cmd + Enter bereit.

Vom Bitmuster zum tatsächlichen Wert

Vorzeichen, Exponent und Bruchteil

Die Aufteilung beträgt 1/8/23 oder 1/11/52 Bits. Gespeicherter und effektiver Exponent erscheinen getrennt. Bei normalen Werten ist das implizite führende Bit 1, bei subnormalen 0. Das verhindert, dass das Exponentenfeld null wie ein gewöhnlicher Exponent gelesen wird.

Dezimalzahl in IEEE-754 ohne Umweg

Die Eingabe wird als exakter Bruch direkt auf die Zielpräzision gerundet. Knapp oberhalb des float32-Mittelpunkts 1.000000059604644775390625 wird korrekt der nächste Wert gewählt. Eine vorherige Rundung auf double könnte genau diesen kleinen Unterschied verlieren.

Prüfbare Wörter und Berichte

Hex- und Binärausgabe behalten alle Bits, auch bei signaling NaNs. Der Bericht enthält Eingabe, Genauigkeit, Felder, exakten Dezimalwert und Rundungsfehler. Kopieren Sie das einzelne Wort oder speichern Sie den vollständigen Zusammenhang als Text.

Grenzen beim Runden und Einlesen

Zwei Formate, eine Rundungsart
Unterstützt werden binary32 und binary64 mit Rundung zum nächsten Wert und zur geraden Endstelle bei Gleichstand. Halbpräzision, bfloat16, erweiterte Formate und andere Rundungsarten sind nicht enthalten. Die Anzeige simuliert keine Hardware-Ausnahmeflags.
Wortbreite und Reihenfolge sind verbindlich
Hex erfordert 8 oder 16 Stellen, binär 32 oder 64 Bits. Passende Präfixe, ASCII-Leerzeichen und Tabs sind erlaubt. Unterstriche, fehlende oder zusätzliche Stellen werden abgewiesen. Es gibt weder automatisches Auffüllen noch Abschneiden oder Vertauschen von Bytes.
Überlauf und winzige Werte
Große endliche Eingaben können zu Infinity, winzige zu subnormalen Werten oder Null mit Vorzeichen gerundet werden. Das ist kein Syntaxfehler. Die Differenz wird ausschließlich zwischen endlicher Dezimaleingabe und endlichem Ergebnis berechnet; bei Rohwörtern fehlt ein dezimaler Zielwert.
NaN-Nutzdaten haben eine feste Definition
Das höchste Bruchteilbit wird nach der üblichen Konvention als Quiet-Bit gelesen: 1 bedeutet quiet. Die Nutzdaten schließen es aus. Textliches NaN erzeugt ein kanonisches quiet NaN mit Nutzdaten null. Für andere Muster nutzen Sie Hex oder Binär; ältere Architekturkonventionen werden nicht emuliert.
Begrenzte Einzelwerte statt Ausdrücke
Maximal 1024 Zeichen und ein expliziter Dezimalexponent von −4096 bis 4096 sind erlaubt. Auch auf dieser deutschen Seite braucht die Eingabe einen Punkt statt Komma. Ausdrücke, Zeilenumbrüche, Dateien, URLs, Stapel, Byte-Reihenfolge, Bit-Schalter, Nachbarwerte, ULP-Abstände und relative Fehler gehören nicht zum Umfang.

Fragen zum IEEE-754-Konverter

Weshalb wird 0,1 beim Umwandeln gerundet?

Ein Zehntel besitzt eine unendliche periodische Binärentwicklung. Nur Brüche mit einer Zweierpotenz als Nenner lassen sich endlich binär darstellen. Für die Eingabe verwenden Sie 0.1 mit Punkt. Die vollständige Dezimalentwicklung zeigt anschließend, welchen endlichen Näherungswert das Format tatsächlich speichert.

Wie unterscheiden sich float32 und float64?

float32 hat 23 gespeicherte Bruchteilbits und bei normalen Werten ein implizites Bit, also 24 Bits Genauigkeit. float64 hat 52 plus eins. Das Exponentenfeld wächst von 8 auf 11 Bits. Damit werden Abstand und Bereich günstiger, aber 0.1 bleibt in beiden Formaten ungenau.

Woran erkennt man eine negative Null?

Exponent und Bruchteil sind null, während das Vorzeichenbit eins ist. Die Hexwörter lauten 80000000 für binary32 und 8000000000000000 für binary64. Die exakte Anzeige erhält −0, auch wenn viele gewöhnliche Zahlenanzeigen nur 0 ausgeben.

Können NaNs verschiedene Hexwerte haben?

Ja. Jeder vollständig gesetzte Exponent mit einem nichtleeren Bruchteil ist ein NaN-Muster. Quiet-Bit, übrige Nutzdaten und Vorzeichen können verschieden sein. Die Rohwort-Eingabe erhält diese Informationen. Nur die Eingabe des Wortes NaN als Dezimaltext wählt ein festes kanonisches Muster.

Wann gilt eine Zahl als subnormal?

Wenn der gespeicherte Exponent null und der Bruchteil ungleich null ist. Das führende Bit ist dann 0; der effektive Exponent ist −126 beziehungsweise −1022. Subnormale Werte füllen den Bereich zwischen null und der kleinsten normalen Zahl schrittweise aus.

Ist das Ergebnis unerwartet?

Einen weiteren Grenzwert prüfen

Der IEEE-754-Konverter macht ein aufgezeichnetes Wort oder eine Rundungsgrenze überprüfbar. Ändern Sie jeweils eine Bedingung und exportieren Sie erst das aktualisierte Ergebnis.