Hoppa till innehåll
100% lokalt

IEEE 754-omvandlare

Konvertera ett decimaltal till dess IEEE 754-bitmönster, eller bitar tillbaka till ett tal.

Inmatning

IEEE 754-omvandlare

Varje flyttal som en dator lagrar är egentligen en teckenbil, en exponent och en mantissa, packad tillsammans enligt IEEE 754 — standarden som C, Java, Python och JavaScript använder för sina taltyper. Klistra in ett decimaltal och det här verktyget kodar det till det exakta bitmönstret; klistra in bitmönstret igen och det avkodar det till ett tal. Byt riktning med ett klick för att gå åt båda håll.

Två precisionsnivåer stöds: 32-bitars enkel (1 teckenbit, 8 exponentbitar, 23 mantissabitar — en C float eller en Rust f32) och 64-bitars dubbel (1 + 11 + 52 — en C double och vad varje JavaScript-tal är under huven). Bitmönstret kan skrivas som hexadecimalt eller som en vanlig sträng av nollor och ettor, med byte-ordning inställd på big-endian eller little-endian för att matcha hur en felsökare eller minnesdump lägger ut bytes.

Slå på "Visa tecken / exponent / mantissa" för att se de tre fälten åtskilda — det snabbaste sättet att se varför ett tal kodas på det sätt det gör. Slå på "Visa faktiskt lagrat värde och avrundningsfel" för att se vad ett tal faktiskt blir när det lagras: 3,14 är inte exakt i någon precision, och verktyget visar det verkligt lagrade värdet tillsammans med gapet mellan vad du skrev och vad hårdvaran behåller — anledningen till att jämförelser med flyttal i kod misslyckas. Speciella värden — 0, -0, Infinity, -Infinity och NaN — konverteras alla till sina definierade mönster, en per rad, så en hel lista konverteras på en gång.

Allt körs lokalt i din webbläsare, med samma DataView som JavaScript-motorn själv använder för att läsa och skriva IEEE 754-flyttal — ingen serverbaserad bibliotek för flyttal, och ingen data lämnar din enhet.

FAQ

Vad är IEEE 754?
Det är standarden som definierar hur datorer lagrar icke-heltal i binärt format: en teckenbit, en exponent och en mantissa (fraktion). Enkel precision använder 32 bitar totalt, dubbel precision 64 — formaten bakom float och double i C, f32 och f64 i Rust, och varje tal i JavaScript.
Varför avkodas 3,14 inte exakt tillbaka till 3,14?
De flesta decimala fraktioner kan inte representeras exakt i binärt format, på samma sätt som 1/3 inte kan skrivas exakt i decimalformat. Det verkligt lagrade värdet är det närmaste värdet som formatet kan innehålla — slå på "Visa faktiskt lagrat värde" för att se det och storleken på gapet.
Vad är skillnaden mellan enkel och dubbel precision?
Enkel precision (32 bitar) har mindre plats för mantissan, så den avrundar fler tal och förlorar fler precisionssiffror. Dubbel precision (64 bitar) är exakt för mycket fler värden — det är vad JavaScript-tal redan är internt, så att gå fram och tillbaka med en dubbel genom det här verktyget förlorar aldrig något.
Vad ändrar byte-ordning?
Det påverkar bara hur samma bitar grupperas i bytes för läsning eller inmatning — big-endian skriver den mest signifikanta byten först, little-endian sist, vilket motsvarar hur en felsökare eller hex-dump visar minnet på en viss arkitektur. Själva talet och tecken-/exponent-/mantissa-uppdelningen ändras inte.
Laddas mina indata upp någonstans?
Nej. Konverteringen körs helt i din webbläsare med samma binary read/write API:er som JavaScript-motorn själv förlitar sig på — ingenting du skriver här skickas till en server.