Skip to content

IEEE 754 Gleitkommazahlen-Konverter

Dezimalzahlen online in IEEE 754 Binär- und Hex-Darstellung umrechnen — halbe, einfache, doppelte Genauigkeit und bfloat16. Exakt gespeicherter Wert, Rundungsfehler und Bit-Layout. 100 % im Browser.

Kein Tracking Läuft im Browser Kostenlos
Alles läuft lokal in Ihrem Browser — die eingegebenen Werte verlassen dieses Gerät nie.
Format
Sonderwerte
Bit-Layout — beliebiges Bit zum Umschalten anklicken
Vorzeichen Exponent Mantisse
Feldaufschlüsselung
Vorzeichen
Exponent
Mantisse
Gespeicherter Wert & Rundungsfehler
Ihre Eingabe
Tatsächlich gespeichert
Rundungsfehler
Benachbarte darstellbare Werte
Vorheriger
Nächster
ULP (Abstand)
IEEE 754 Formatparameter im Überblick
Format Bits gesamt Vorzeichen Exponent Mantisse Bias Max. endlicher Wert Dezimalstellen
binary16 (FP16)1615101565504~3.3
bfloat1616187127≈3.39×10³⁸~2.3
binary32 (FP32)321823127≈3.40×10³⁸~7.2
binary64 (FP64)64111521023≈1.80×10³⁰⁸~15.9
Auf numerische Korrektheit gegen die Formatdefinitionen von IEEE 754-2019 geprüft; jeder Beispielwert mit exakter Big-Integer-Arithmetik verifiziert — Go-Tools Engineering-Team · Jul 16, 2026

Was sind IEEE 754 Gleitkommazahlen?

IEEE 754 ist der Standard, der festlegt, wie Computer reelle Zahlen binär speichern. Jeder Wert wird in drei Felder gepackt: ein Vorzeichenbit, einen Exponenten (mit einem Bias gespeichert, damit er sowohl große als auch winzige Größenordnungen darstellen kann) und eine Mantisse mit den signifikanten Ziffern. Nahezu jede CPU, GPU und Programmiersprache verwendet ihn — deshalb tauchen dieselben Rundungsüberraschungen in JavaScript, Python, C und SQL gleichermaßen auf.

Die zentrale Einsicht: Binäres Gleitkomma kann nur Zahlen der Form m × 2ⁿ darstellen. Dezimalbrüche wie 0.1 sind in Basis 2 unendlich periodisch — 0.000110011001100… —, also speichert das Format stattdessen den nächstgelegenen darstellbaren Nachbarn. In einfacher Genauigkeit ist dieser Nachbar 0.100000001490116119384765625; in doppelter Genauigkeit ist er 0.1000000000000000055511151231257827021181583404541015625. Keiner von beiden ist 0.1. Jede nachgelagerte Merkwürdigkeit — 0.1 + 0.2 ≠ 0.3, driftende Summen, fehlschlagende Gleichheitsprüfungen — folgt aus dieser einen Tatsache, und dieser Konverter macht sie sichtbar, indem er den exakt gespeicherten Wert ausgibt statt einer zurückgerundeten Näherung.

Der Standard reserviert außerdem Bitmuster für Sonderwerte. Ein Exponent aus lauter Einsen codiert ±Infinity (Mantisse null) oder NaN (Mantisse ungleich null); ein Exponent aus lauter Nullen codiert die vorzeichenbehaftete Null (Mantisse null) oder subnormale Zahlen (Mantisse ungleich null), die die Unterlauf-Lücke neben null mit reduzierter Präzision füllen. Die vier Formate dieses Tools — binary16/FP16, bfloat16, binary32/FP32, binary64/FP64 — unterscheiden sich nur darin, wie viele Bits sie jedem Feld geben: Mehr Exponentenbits bedeuten mehr Wertebereich, mehr Mantissenbits mehr Präzision. bfloat16, der Favorit im Machine Learning, ist schlicht FP32 mit abgeschnittenen unteren 16 Mantissenbits: gleicher Wertebereich, deutlich gröbere Präzision.

Ein nützliches mentales Modell: Die darstellbaren Gleitkommazahlen bilden ein Raster auf dem Zahlenstrahl, dessen Abstand — eine Einheit an der letzten Stelle, kurz ULP — sich an jeder Zweierpotenz verdoppelt. Nahe 1.0 beträgt der Rasterabstand eines Double etwa 2,22 × 10⁻¹⁶; nahe 2⁵³ ist er eine ganze Zahl, weshalb Doubles jenseits von 2⁵³ nicht mehr zuverlässig zählen können. Das Nachbarn-Panel dieses Tools zeigt genau dieses Raster: den vorherigen und den nächsten darstellbaren Wert um Ihre Eingabe herum, samt dem exakten Abstand dazwischen.

// Float ↔ hex through the raw IEEE 754 bits (works in any browser / Node.js)
const buf = new DataView(new ArrayBuffer(8));

function floatToHex32(value) {
  buf.setFloat32(0, value); // rounds to nearest even
  return '0x' + buf.getUint32(0).toString(16).toUpperCase().padStart(8, '0');
}

function hexToFloat32(hex) {
  buf.setUint32(0, parseInt(hex, 16));
  return buf.getFloat32(0);
}

floatToHex32(0.1);        // '0x3DCCCCCD'
floatToHex32(3.14159);    // '0x40490FD0'
hexToFloat32('3DCCCCCD'); // 0.10000000149011612

Hauptfunktionen

Vier Formate, eine Ansicht

Half (FP16), bfloat16, Single (FP32) und Double (FP64) — ein Klick wechselt das Format und die gesamte Seite rechnet neu, sodass der Vergleich, wie dieselbe Zahl in jedem Format landet, nur Sekunden dauert.

Anklickbares Bit-Raster

Jedes Bit ist ein Button. Schalten Sie das Vorzeichen um, verschieben Sie den Exponenten oder ändern Sie ein Mantissenbit und sehen Sie zu, wie sich Dezimal-, Hex- und Binäransicht sofort aktualisieren — der schnellste Weg, ein Gefühl für die Codierung zu entwickeln.

Exakt gespeicherter Wert statt Näherung

Das Tool berechnet die vollständige Dezimalentwicklung der gespeicherten Bits mit exakter Big-Integer-Arithmetik — alle 55 Ziffern für die 0.1 eines Double — plus den exakten vorzeichenbehafteten Rundungsfehler gegenüber Ihrer Eingabe.

Nachbarn und ULP

Sehen Sie den vorherigen und den nächsten darstellbaren Wert um die aktuelle Zahl sowie den exakten Abstand (ULP) dazwischen — den Rasterabstand, der bestimmt, wie viel Präzision Sie bei einer Größenordnung tatsächlich haben.

Sonderwerte mit einem Klick

Chips laden ±0, ±Infinity, NaN, die kleinste subnormale und die größte endliche Zahl des gewählten Formats; das Klassifizierungs-Badge benennt, was das aktuelle Bitmuster codiert.

Teilbare Permalinks, kein Upload

„Link kopieren“ codiert Format und exaktes Bitmuster in die URL — ideal für Bug-Reports, Code-Reviews und die Lehre. Alles läuft in Ihrem Browser; nichts von dem, was Sie eingeben, verlässt die Seite.

IEEE 754 Umrechnungsbeispiele

0.1 in einfacher Genauigkeit — der klassische Rundungsfehler

0.1
0x3DCCCCCD — tatsächlich gespeichert als 0.100000001490116119384765625

Dezimal 0.1 hat keine endliche Binärdarstellung, deshalb speichert IEEE 754 stattdessen den nächstgelegenen darstellbaren Wert. In einfacher Genauigkeit (FP32) ist das 0x3DCCCCCD, also exakt 0.100000001490116119384765625 — etwa 1,49 × 10⁻⁹ zu groß. Das Tool zeigt diesen exakt gespeicherten Wert und den exakten Fehler Ziffer für Ziffer, statt der gerundeten „0.1“, die Ihre Programmiersprache zurückgibt. Dieses eine Beispiel erklärt die meisten Gleitkomma-Überraschungen, auch warum 0.1 + 0.2 nicht gleich 0.3 ist.

Float in Hex: 3.14159 in FP32

3.14159
0x40490FD0

Geben Sie 3.14159 mit ausgewähltem Single (FP32) ein und das Hex-Feld zeigt 0x40490FD0 — Vorzeichen 0, Exponent mit Bias 128 (also 2¹), Mantisse 0x490FD0. Tatsächlich gespeichert wird 3.141590118408203125, eine Winzigkeit über Ihrer Eingabe. Die Hex-Form begegnet Ihnen in Netzwerk-Dumps, GPU-Puffern, Registeransichten und serialisierten Binärdateien, und die Umrechnung funktioniert in beide Richtungen: Fügen Sie 40490FD0 in das Hex-Feld ein, um es zurück zu dekodieren.

FP16-Maximum: Bei 65504 endet die halbe Genauigkeit

65504
0x7BFF — der größte endliche FP16-Wert

Halbe Genauigkeit hat nur 5 Exponentenbits und 10 Mantissenbits, ihr größter endlicher Wert ist daher 65504 (0x7BFF). Geben Sie 65520 oder mehr ein und das Ergebnis rundet auf Infinity (0x7C00) — eine reale Gefahr beim Quantisieren von Machine-Learning-Modellen auf FP16. Wechseln Sie zu bfloat16, und dieselben 65520 passen problemlos, denn bfloat16 behält die 8 Exponentenbits von FP32 (Wertebereich) und gibt dafür Mantissenbits (Präzision) auf. Genau dieser Kompromiss ist der Grund, warum ML-Training bfloat16 bevorzugt und kompakte Speicherung FP16.

−0 und +0: zwei verschiedene Bitmuster, ein Wert

-0
0x80000000 (FP32), während +0 gleich 0x00000000 ist

IEEE 754 kennt eine vorzeichenbehaftete Null: −0 setzt nur das Vorzeichenbit (0x80000000 in FP32), während +0 aus lauter Nullen besteht. Sie vergleichen in jeder Sprache als gleich, doch 1/−0 ist −Infinity und 1/+0 ist +Infinity — der Unterschied ist also beobachtbar. Klicken Sie im Tool auf das Vorzeichenbit, um zwischen beiden umzuschalten, und beobachten Sie, wie das Klassifizierungs-Badge auf „Null“ bleibt, während sich der Hex-Wert ändert — eine Ein-Klick-Illustration dafür, warum Gleichheit auf Bit-Ebene und numerische Gleichheit zwei verschiedene Dinge sind.

So konvertieren Sie IEEE 754 Gleitkommazahlen

  1. 1

    Gleitkommaformat wählen

    Single (FP32) ist vorausgewählt. Wechseln Sie zu Double (FP64) für Zahlen im Stil von JavaScript/Python oder zu Half (FP16) und bfloat16 für die 16-Bit-Formate aus Machine Learning und Grafik.

  2. 2

    Dezimalzahl eingeben

    Geben Sie einen beliebigen Wert ein — 0.1, -2.5e3, 65504 — oder nutzen Sie die Sonderwert-Chips für ±0, ±Infinity, NaN, die kleinste subnormale und die größte endliche Zahl. Die Umrechnung erfolgt während der Eingabe.

  3. 3

    Farbcodiertes Bit-Layout lesen

    Vorzeichenbit, Exponentenfeld und Mantisse sind in verschiedenen Farben hervorgehoben; die Feldaufschlüsselung zeigt die Rohbits, die Bias-Arithmetik und das implizite führende Bit.

  4. 4

    Exakt gespeicherten Wert und Fehler prüfen

    Das Genauigkeits-Panel gibt den tatsächlich gespeicherten Wert aus — jede Ziffer, exakt berechnet — neben dem Rundungsfehler gegenüber Ihrer Eingabe, dazu die vorherigen und nächsten darstellbaren Nachbarn und den ULP-Abstand.

  5. 5

    Bits umschalten, Hex einfügen, Ergebnisse kopieren

    Klicken Sie ein beliebiges Bit an, um es umzuschalten, oder fügen Sie Hex- (3DCCCCCD) und Binärzeichenketten ein, um sie zurück in Dezimal zu dekodieren. Kopieren Sie Hex, Binär, den exakten Wert oder einen teilbaren Link, der exakt dieses Bitmuster reproduziert.

Häufige Gleitkomma-Fehler

Dem ausgegebenen Wert statt dem gespeicherten vertrauen

Sprachen geben Gleitkommazahlen auf die kürzeste Zeichenkette gerundet aus, die verlustfrei zurückkonvertiert — 0.1 sieht deshalb sauber aus, obwohl der gespeicherte Wert es nicht ist. Beurteilen Sie Präzision anhand der exakten Entwicklung, nicht anhand dessen, was print() zeigt.

✗ Falsch
print(0.1)  # 0.1 — sieht exakt aus, ist es nicht
✓ Richtig
0.1 gespeichert (FP64) = 0.1000000000000000055511151231257827021181583404541015625

Gleitkommazahlen auf exakte Gleichheit prüfen

0.1 + 0.2 landet auf dem Bitmuster 0x3FD3333333333334, während das Literal 0.3 gleich 0x3FD3333333333333 ist — ein ULP Abstand, also ist == falsch, obwohl beide als 0.3-artige Werte ausgegeben werden.

✗ Falsch
if (0.1 + 0.2 === 0.3) { … }   // läuft nie
✓ Richtig
if (Math.abs(a - b) < 1e-9) { … }   // Toleranz passend zu Ihren Daten

Auf FP16 quantisieren, ohne den Wertebereich zu prüfen

Der größte endliche FP16-Wert ist 65504. Alles darüber wird zu Infinity, und sobald ein Infinity in eine Berechnung gelangt, pflanzt es sich fort. Prüfen Sie Ihre Maxima vor dem Downcast — oder nutzen Sie bfloat16, das den Wertebereich von FP32 behält.

✗ Falsch
fp16(65520)   → Infinity (0x7C00) — stiller Überlauf
✓ Richtig
bf16(65520)   → endlich (bfloat16 behält 8 Exponentenbits)

NaN mit Gleichheit testen

NaN ist der einzige Wert, der ungleich sich selbst ist — mit Absicht, damit eine fehlgeschlagene Berechnung sich nicht als echte Zahl tarnen kann. Verwenden Sie die isNaN-Prüfung Ihrer Sprache statt == und bedenken Sie, dass es Millionen verschiedener NaN-Bitmuster gibt.

✗ Falsch
if (x === NaN) { … }        // immer falsch, selbst wenn x NaN IST
✓ Richtig
if (Number.isNaN(x)) { … }  // der korrekte Test

Was Sie mit dem IEEE 754 Konverter machen können

Serialisierte Binärdaten debuggen
Fügen Sie den Hex-Wert aus einem Netzwerk-Mitschnitt, GPU-Puffer, Register-Dump oder Dateiformat ein und dekodieren Sie ihn zum exakten Dezimalwert — oder gehen Sie den umgekehrten Weg, um Test-Fixtures zu schreiben. Hinweis zur Byte-Reihenfolge: Der angezeigte Hex-Wert ist das Big-Endian-Bitmuster; wenn Ihr Dump Little-Endian ist, kehren Sie die Byte-Reihenfolge vor dem Einfügen um.
ML-Quantisierung verstehen
Prüfen Sie, ob Ihre Werte die 65504-Obergrenze von FP16 überleben, vergleichen Sie den Präzisionsverlust von FP16 und bfloat16 Ziffer für Ziffer und inspizieren Sie den subnormalen Bereich, in dem Gradienten unterlaufen.
Einen Gleitkomma-Bug erklären
Wenn ein Kollege fragt, warum zwei „gleiche“ Zahlen sich unterscheiden, senden Sie einen Permalink mit beiden Bitmustern und den exakt gespeicherten Werten — die Diskussion erledigt sich von selbst. Für längere Dumps kombinieren Sie ihn mit dem Text-Diff-Tool.
Die Codierung lernen oder lehren
Lehrstoff zur Rechnerarchitektur wird greifbar, wenn Studierende die Exponentenbits anklicken und zusehen können, wie sich die Bias-Arithmetik aktualisiert. Die Feldaufschlüsselung spiegelt wider, wie Lehrbücher das Format zeichnen.
Embedded- und Industrieregister dekodieren
Modbus-, CAN- und Sensor-Payloads transportieren FP32-Werte routinemäßig als rohe Hex-Wörter. Fügen Sie das Wort hier ein und lesen Sie den physikalischen Wert ab, ohne ein Wegwerf-Skript zu schreiben.

IEEE 754 Formate & Sonderwerte

Die vier Binärformate im Überblick
binary16 (FP16): 1 Vorzeichen- + 5 Exponenten- + 10 Mantissenbits, Bias 15, Maximum 65504, ~3,3 Dezimalstellen. bfloat16: 1 + 8 + 7, Bias 127, Maximum ≈ 3,39 × 10³⁸, ~2,3 Stellen. binary32 (FP32): 1 + 8 + 23, Bias 127, Maximum ≈ 3,40 × 10³⁸, ~7,2 Stellen. binary64 (FP64): 1 + 11 + 52, Bias 1023, Maximum ≈ 1,80 × 10³⁰⁸, ~15,9 Stellen. Das Muster: Exponentenbits kaufen Wertebereich, Mantissenbits kaufen Präzision, und bfloat16 tauscht bewusst seine gesamte Präzision gegen den Wertebereich von FP32.
Wie ein Wert zusammengesetzt wird
Eine normale Zahl dekodiert sich als (−1)^Vorzeichen × 1.Mantisse × 2^(Exponent − Bias). Die führende 1 ist implizit — sie wird nicht gespeichert, weshalb ein 23-Bit-Mantissenfeld 24 Bits Präzision liefert. Der gespeicherte Exponent ist der wahre Exponent plus Bias (127 bei FP32), 2⁰ wird also als 01111111 gespeichert. Die Feldaufschlüsselung in diesem Tool zeigt jeden Schritt dieser Rechnung für den aktuellen Wert.
Sonderwerte: die reservierten Exponentenmuster
Exponent aus lauter Einsen mit Mantisse null ist ±Infinity; mit beliebiger Mantisse ungleich null ist es NaN (das kanonische Quiet NaN setzt das oberste Mantissenbit). Exponent aus lauter Nullen mit Mantisse null ist ±0; mit Mantisse ungleich null ist es eine subnormale Zahl, dekodiert als 0.Mantisse × 2^(1 − Bias) — ohne implizite führende 1. Diese Regeln sind in allen vier Formaten identisch, weshalb dieselben Chips überall funktionieren.
Rundung: zur nächsten Zahl, ties to even
Fällt ein Wert zwischen zwei darstellbare Zahlen, rundet der Standardmodus von IEEE 754 zur näheren; bei exaktem Gleichstand wählt er diejenige, deren letztes Mantissenbit 0 ist (ties to even), was systematische Drift verhindert. Dieser Konverter wendet genau diese Regel an, wenn er Ihre Dezimaleingabe in das Zielformat verengt, und das Fehler-Panel zeigt die resultierende vorzeichenbehaftete Differenz exakt.
ULP: der Rasterabstand der Gleitkommazahlen
Darstellbare Gleitkommazahlen sind nicht gleichmäßig verteilt — der Abstand zwischen Nachbarn (eine Einheit an der letzten Stelle) verdoppelt sich an jeder Zweierpotenz. Nahe 1.0 beträgt das ULP eines Double 2⁻⁵² ≈ 2,22 × 10⁻¹⁶; nahe 2⁵³ erreicht das ULP 1.0 und ganze Zahlen beginnen auszufallen. Das Nachbarn-Panel gibt das aktuelle ULP exakt aus — die ehrliche Antwort auf die Frage „Wie präzise ist meine Zahl an dieser Stelle?“.

Best Practices für Gleitkommazahlen

Gleitkommazahlen nie mit == vergleichen
Nach beliebiger Arithmetik können zwei mathematisch gleiche Ausdrücke ein ULP auseinanderliegen. Vergleichen Sie gegen eine zu Ihren Größenordnungen passende Toleranz — oder zählen Sie ULPs zwischen den Bitmustern, die Sie mit diesem Tool direkt inspizieren können.
Geldbeträge nicht in binären Floats speichern
Kein Zweierpotenz-Raster enthält 0.10 exakt, deshalb akkumulieren Währungsbeträge in Floats sichtbare Fehler. Verwenden Sie ganzzahlige Cent-Beträge oder einen Dezimaltyp; das Panel mit dem exakt gespeicherten Wert liefert hier den ständigen Beweis dafür.
Das 16-Bit-Format nach Wertebereich wählen, nicht aus Gewohnheit
Können Ihre Werte 65504 überschreiten — Verluste, Gradienten, Physik-Spitzen —, läuft FP16 zu Infinity über, wo bfloat16 unbeeindruckt weiterrechnet. Ist alles in ein schmales Band normalisiert, liefern die zusätzlichen Mantissenbits von FP16 sichtbar bessere Präzision.
Die Doppelrundungsfalle beim Verengen beachten
Die Umwandlung Dezimal → Double → Half kann in seltenen Grenzfällen ein ULP neben der direkten Umwandlung Dezimal → Half landen. Dieses Tool rundet Ihre Dezimaleingabe in einem einzigen Schritt in das Zielformat — was Sie sehen, ist die ehrliche IEEE-754-Antwort.
Oberhalb von 2⁵³ mit brechenden Ganzzahlen rechnen
Ein Double speichert jede Ganzzahl bis 2⁵³ exakt und beginnt dann auszulassen — 2⁵³ + 1 ist nicht darstellbar. Wer IDs oder Zähler in dieser Größenordnung verarbeitet, sollte 64-Bit-Ganzzahlen oder Strings verwenden und verdächtige Werte hier auf Bit-Ebene prüfen.

FAQ zum IEEE 754 Konverter

Warum ist 0.1 + 0.2 nicht gleich 0.3?
Weil keine der drei Zahlen im binären Gleitkommaformat existiert. Ein Double speichert 0.1 als exakt 0.1000000000000000055511151231257827021181583404541015625 und 0.2 mit einem ähnlich winzigen Überschuss; die Addition ergibt 0.3000000000000000444089209850062616169452667236328125 (Bits 0x3FD3333333333334), während das Literal 0.3 auf 0.299999999999999988897769753748434595763683319091796875 (Bits 0x3FD3333333333333) rundet. Die Summe landet einen darstellbaren Schritt über dem Literal — zwei verschiedene Bitmuster —, weshalb 0.1 + 0.2 == 0.3 in jeder IEEE-754-Sprache falsch ist: JavaScript, Python, Java, C, Rust, Go. Geben Sie 0.1 in diesen Konverter ein und lesen Sie den exakt gespeicherten Wert, um die Ursache mit eigenen Augen zu sehen.
Was ist IEEE 754?
IEEE 754 ist der technische Standard für binäre Gleitkomma-Arithmetik, den praktisch jede moderne CPU, GPU und Programmiersprache verwendet. Er definiert, wie eine Zahl in Bits gepackt wird — ein Vorzeichenbit, ein Exponentenfeld und eine Mantisse (Signifikand) — sowie die Rundungsregeln und die Sonderwerte Infinity, NaN, vorzeichenbehaftete Null und subnormale Zahlen. Die Formate, denen Sie in der Praxis begegnen, sind binary32 (float, FP32), binary64 (double, FP64), binary16 (half, FP16) und die verwandte bfloat16-Trunkierung aus dem Machine Learning. Dieser Konverter zeigt alle vier auf Bit-Ebene.
Was ist der Unterschied zwischen FP16 und bfloat16?
Beide sind 16-Bit-Formate, verteilen ihre Bits aber unterschiedlich. FP16 (IEEE binary16) verwendet 5 Exponentenbits und 10 Mantissenbits: mehr Präzision, aber ein winziger Wertebereich — der größte endliche Wert ist 65504, Überlauf zu Infinity ist also eine ständige Gefahr. bfloat16 behält die 8 Exponentenbits von FP32 und hat nur 7 Mantissenbits: der volle Bereich von ±3,4 × 10³⁸ eines float, bei deutlich gröberer Präzision. Deshalb hat sich das ML-Training, in dem Gradienten weit über 65504 hinausschießen können, auf bfloat16 standardisiert, während FP16 zu Speicherung und Inferenz passt, wo die Werte gezähmt sind. Vergleichen Sie beide hier: Geben Sie 0.1 ein und wechseln Sie das Format — FP16 speichert 0.0999755859375 (0x2E66), bfloat16 speichert 0.10009765625 (0x3DCD).
Was sind subnormale (denormalisierte) Zahlen?
Wenn das Exponentenfeld nur Nullen enthält, lässt IEEE 754 die implizite führende 1 weg und die Mantisse schrumpft graduell gegen null — das sind subnormale (älterer Begriff: denormalisierte) Zahlen. Sie füllen die Lücke zwischen null und der kleinsten normalen Zahl, sodass die Differenz zweier ungleicher Gleitkommazahlen nie auf null runden kann (gradueller Unterlauf). Der Preis dafür sind reduzierte Präzision und auf vielen CPUs langsamere Arithmetik. In FP16 ist die kleinste subnormale Zahl 2⁻²⁴ = 0.000000059604644775390625; klicken Sie in einem beliebigen Format auf den Chip „Min. subnormal“, um ihr Bitmuster zu inspizieren — Exponentenbits alle null, Mantisse 0…001.
Sollte ich float oder double verwenden?
Verwenden Sie standardmäßig double (FP64), sofern es keinen gemessenen Grund dagegen gibt. Ein Double trägt etwa 15–16 signifikante Dezimalstellen gegenüber rund 7 bei einem float, und die meisten Sprachen (JavaScript-Zahlen, Python-Floats) kennen ohnehin nur double. Wählen Sie float (FP32), wenn Speicherbandbreite oder Speicherplatz dominieren — große Arrays, GPU-Pipelines, Grafik — und Sie bestätigt haben, dass 7 Stellen genügen. Für Geldbeträge verwenden Sie stattdessen Ganzzahlen (Cent) oder einen Dezimaltyp: Kein Binärformat speichert 0.1 exakt, wie das Panel mit dem gespeicherten Wert in diesem Tool zeigt. Wenn Sie stattdessen ganzzahlige Zahlensysteme inspizieren möchten, nutzen Sie den Zahlensystem-Konverter.
Wie rechne ich einen Float von Hand in Hex um?
Nehmen Sie das Vorzeichen (0 für positiv, 1 für negativ). Schreiben Sie den Absolutwert binär und normalisieren Sie ihn auf 1.xxx × 2ⁿ. Addieren Sie den Bias des Formats zu n (127 bei FP32, 1023 bei FP64) und schreiben Sie das Ergebnis in die Exponentenbits. Lassen Sie die führende 1 weg und übernehmen Sie die nächsten 23 (bzw. 52) Bits des Bruchteils als Mantisse, an der Schnittstelle nach dem Prinzip „ties to even“ zur nächsten Zahl gerundet. Verketten Sie Vorzeichen, Exponent und Mantisse und fassen Sie je 4 Bits zu einer Hex-Ziffer zusammen. Für 3.14159 in FP32 ergibt das 0 | 10000000 | 10010010000111111010000 → 0x40490FD0 — oder Sie sparen sich die Rechnung und lassen diesen Konverter jeden Schritt sichtbar ausführen.
Werden meine Daten hochgeladen, wenn ich diesen Konverter verwende?
Nein. Jede Umrechnung läuft lokal in Ihrem Browser mit reinem JavaScript — DataView- und BigInt-Arithmetik, kein Server-Roundtrip, keine Drittanbieter-Bibliotheken. Sie können die Entwicklertools Ihres Browsers öffnen und zusehen, wie das Netzwerk-Panel beim Tippen stumm bleibt, oder die Internetverbindung komplett trennen und weiter konvertieren. Der Button „Link kopieren“ codiert das Bitmuster in das URL-Fragment, das ebenfalls nie an einen Server gesendet wird.

Verwandte Werkzeuge

Alle Werkzeuge anzeigen →