Preskoči na sadržaj
100% lokalno

IEEE 754 konverter

Pretvorite decimalni broj u njegov IEEE 754 bitni uzorak, ili bitove natrag u broj.

Unos

IEEE 754 konverter

Svaki broj s pomičnom točkom koji računalo pohranjuje je zapravo bit znaka, eksponent i mantisa, spojeni prema IEEE 754 — normi koju koriste C, Java, Python i JavaScript za svoje brojčane tipove. Zalijepite decimalni broj i ovaj alat ga kodira u točan bitni uzorak; zalijepite bitni uzorak natrag i dekodira ga u broj. Smjer promijenite jednim kliknom.

Podržane su dvije preciznosti: 32-bitna pojedinačna (1 bit znaka, 8 bitova eksponenta, 23 bita mantise — C float ili Rust f32) i 64-bitna dvostruka (1 + 11 + 52 — C double i ono što je svaki JavaScript broj unutar). Bitni uzorak može biti napisan kao heksadecimalni ili kao jednostavna niz od 0 i 1, s redoslijedom bajtova postavljenim na big-endian ili little-endian kako bi odgovario kako se ladioca ili memorijski ispis prikazuje.

Uključite „Prikaži znak / eksponent / mantisu“ kako biste vidjeli tri polja odvojena — najbrži način da vidite zašto se broj kodira na taj način. Uključite „Prikaži stvarnu pohranjenu vrijednost i grešku zaokruživanja“ kako biste vidjeli što se zapravo dogodi s brojem nakon pohrane: 3,14 nije točan ni u jednoj preciznosti, a alat pokazuje stvarnu pohranjenu vrijednost zajedno s razlikom između onoga što ste унели i onoga što hardware čuva — razlog zašto usporedbe s pomičnom točkom u kodu ne uspijevaju. Posebne vrijednosti — 0, -0, Infinity, -Infinity i NaN — sve se pretvaraju u njihove definirane obrasce, jedan po liniji, tako da se cijela lista pretvara odjednom.

Sve se izvršava lokalno u vašem pregledniku, koristeći istu DataView koju JavaScript engine koristi za čitanje i pisanje IEEE 754 brojeva — bez server-side biblioteke s pomičnom točkom i bez podataka koji napuštaju vašu uređaj.

FAQ

Što je IEEE 754?
To je norma koja definira kako računala pohranjuju necijele brojeve u binarnom obliku: bit znaka, eksponent i mantisu (razlomak). Pojedinačna preciznost koristi ukupno 32 bita, dvostruka preciznost 64 — formati iza float i double u C, f32 i f64 u Ruste, i svakog broja u JavaScriptu.
Zašto se 3,14 ne dekodira točno natrag na 3,14?
Većina decimalnih razlomaka ne može se točno predstaviti u binarnom obliku, na isti način kao što 1/3 ne može biti napisana točno u decimalnom obliku. Vrijednost koja se zapravo pohranjuje je najbliža koju format može sadržavati — uključite „Prikaži stvarnu pohranjenu vrijednost“ kako biste je vidjeli i veličinu razlike.
Koja je razlika između pojedinačne i dvostruke preciznosti?
Pojedinačna preciznost (32 bita) ima manje mjesta za mantisu, pa zaokružuje više brojeva i gubi više znamenki preciznosti. Dvostruka preciznost (64 bita) je točna za mnogo više vrijednosti — to je ono što su JavaScript brojevi već unutar, tako da prolazak dvostrukog kroz ovaj alat nikad ne gubi ništa.
Što promjena redoslijeda bajtova?
Utječe samo na to kako su isti bitovi grupirani u bajtove za čitanje ili pisanje — big-endian prvo piše najznačajniji bajt, little-endian posljednji, podudarajući se s time kako se ladilac ili heks ispis prikazuje memorije na određenoj arhitekturi. Sam broj i razrada znaka/eksponenta/mantise se ne mijenjaju.
Je li moj unos preusmjeren negdje?
Ne. Konverzija se izvršava potpuno u vašem pregledniku koristeći iste binarne API-je čitanja/pisanja na kojima se JavaScript engine oslanja — ništa što ovdje unesete nije poslano na server.