Naar de inhoud

Drijvende-kommagetallen, bits en hex omzetten

Codeer een getal als IEEE 754 float32/64 of decodeer een exact binair of hexadecimaal bitpatroon.

Kies richting en formaat

Verwerkt in je browser.

Decimaal, wetenschappelijke notatie, Infinity, -Infinity, NaN of -0. Voer exact 32/64 binaire of 8/16 hexadecimale cijfers in; 0x, spaties en underscores zijn toegestaan.

IEEE 754-weergave

Kies een formaat, voer een waarde of bitpatroon in en zet om.

Opgeslagen numerieke waarde1
TekenbitExponentbitsFractiebits
0
01111111
00000000000000000000000

De drijvende-kommaconverter gebruiken

Een getal coderen

Kies Getal naar bits en hex, selecteer float32 of float64 en voer een decimale waarde in. De browser schrijft het JavaScript-getal in een DataView met het gekozen IEEE 754-binaire formaat. Daarna toont de pagina de opgeslagen waarde, volledige bitreeks, hexadecimale bytes, teken, exponent, fractie en waardeklasse.

Bits of hexadecimale notatie decoderen

Kies Bits of hex naar getal. Float32 vereist exact 32 binaire of 8 hexadecimale cijfers; float64 vereist 64 bits of 16 hexcijfers. Een voorstaande 0x is optioneel; spaties of underscores mogen groepen scheiden. De getoonde bytes zijn big-endian: de meest significante byte staat eerst.

De velden begrijpen

Het eerste bit is het teken. Float32 gebruikt 8 exponentbits en 23 fractiebits met bias 127; float64 gebruikt 11 exponentbits en 52 fractiebits met bias 1023. Een exponentveld met alleen nullen stelt nul of subnormale waarden voor. Alleen enen stelt oneindig of NaN voor, afhankelijk van de fractie.

Houd rekening met afronding

JavaScript leest decimale invoer eerst als Number. Coderen naar float32 kan opnieuw afronden naar 24 bits binaire precisie; float64 gebruikt de al ingelezen binary64-waarde van JavaScript. De converter toont de opgeslagen weergave maar kan geen eerder verloren decimale cijfers herstellen of decimaal rekenen met onbeperkte precisie.

Bekende voorbeelden

Float32-waarde 1

Het getal 1 wordt gecodeerd als bits 00111111100000000000000000000000 en hex 0x3F800000. Het teken is 0, de exponent 01111111 en de fractie bestaat volledig uit nullen.

Speciale waarden en afronding

Float32 -0 is 0x80000000, positief oneindig is 0x7F800000 en de kleinste positieve subnormale waarde is 0x00000001. π coderen naar float32 geeft ongeveer 3.1415927410125732 doordat de exacte waarde naar de dichtstbijzijnde beschikbare float32-waarde wordt afgerond.

Beperkingen en exactheid

Veelgestelde vragen

Waarom verandert float32 mijn decimaal getal?

De meeste decimale breuken zijn niet exact binair weer te geven en float32 heeft minder precisiebits dan JavaScript Number.

Verschillen +0 en -0?

Ze worden in veel berekeningen gelijk vergeleken, maar hebben verschillende tekenbits. Deze converter behoudt -0 en benoemt het.

Kan ik een NaN-payload invoeren?

Ja, in decodeerstand met exacte bits of hex. Codeerstand accepteert alleen de algemene numerieke NaN-waarde.

Wat betekent big-endianweergave?

De meest linkse byte bevat de hoogste teken- en exponentbits. Dit is een expliciete weergavevolgorde, onafhankelijk van de geheugenindeling van het apparaat.