UTILS.
100% in de browser
💾

IEEE-754 floating-point-converter

Converteer een decimaal getal naar/van zijn IEEE-754 single (32-bit) of double (64-bit) bitpatroon en ontleed de sign-, exponent- en mantisse-velden.

Voer hierboven een getal of bitpatroon in.

Over deze tool

De IEEE-754 floating-point-converter toont precies hoe een getal in het geheugen wordt opgeslagen als een 32-bits single-precision of 64-bits double-precision float, en kan een ruw bitpatroon terugzetten naar zijn decimale waarde. Het gebruikt JavaScript typed arrays (Float32Array / DataView), zodat het bitpatroon de echte hardware-representatie is, niet een benadering.

In de voorwaartse modus rapporteert het het patroon als hexadecimaal en als binair opgesplitst in de drie velden: het sign-bit, de exponent (8 bits met bias 127 voor float32, 11 bits met bias 1023 voor float64), en de mantisse (23 of 52 bits). Het decodeert ook de niet-bevooroordeelde exponent en classificeert de waarde als normal, subnormal, zero, infinity of NaN. Cruciaal is dat het de exacte opgeslagen waarde afdrukt zoals teruggelezen uit de bits — wat voor float32 vaak verschilt van wat je typte, waardoor floating-point-afrondingsfout zichtbaar wordt. 0.1 wordt bijvoorbeeld in geen van beide precisies exact opgeslagen.

In de omgekeerde modus plak je een hex-patroon (met of zonder 0x) of een volledig-brede binaire string en herinterpreteert het die bits als een float en toont de resulterende decimale waarde plus dezelfde velduitsplitsing. Alles draait lokaal in je browser. Dit is een go-to-tool voor het begrijpen van afronding, het vergelijken van single- versus double-precision, en het inspecteren van de speciale coderingen voor ±0, ±∞ en NaN.

Veelgestelde vragen

Waarom verschilt de opgeslagen waarde van wat ik typte?
De meeste decimale breuken kunnen niet exact worden weergegeven in binaire floating point, dus de dichtstbijzijnde weergeefbare waarde wordt opgeslagen. De converter leest de bits terug en toont die exacte opgeslagen waarde, wat de afrondingsfout onthult — vooral in 32-bits single precision.
Hoe zijn de velden ingedeeld?
Float32 gebruikt 1 sign-bit, 8 exponent-bits (bias 127) en 23 mantisse-bits; float64 gebruikt 1 sign-bit, 11 exponent-bits (bias 1023) en 52 mantisse-bits. De niet-bevooroordeelde exponent is gelijk aan de ruwe exponent min de bias.
Hoe worden zero, infinity en NaN gecodeerd?
Een geheel-nul exponent met een nul-mantisse is ±0, of een subnormal als de mantisse niet-nul is. Een geheel-één exponent betekent ±infinity wanneer de mantisse nul is en NaN wanneer die niet-nul is. De tool labelt elke categorie.
Kan ik van een bitpatroon terug naar een getal?
Ja. Schakel naar de omgekeerde modus en plak een 8-hex-cijferig (float32) of 16-hex-cijferig (float64) patroon, of een volledige 32- of 64-bits binaire string, en de tool herinterpreteert die exacte bits als een floating-point-waarde.

Meer tools