UTILS.
100% nel browser
💾

Convertitore virgola mobile IEEE-754

Converti un numero decimale da/verso il suo pattern di bit IEEE-754 a singola (32 bit) o doppia (64 bit) precisione e analizza i campi segno, esponente e mantissa.

Inserisci un numero o un pattern di bit qui sopra.

Informazioni su questo strumento

Il Convertitore virgola mobile IEEE-754 mostra esattamente come un numero è memorizzato in memoria come float a singola precisione a 32 bit o a doppia precisione a 64 bit, e può invertire un pattern di bit grezzo riportandolo al suo valore decimale. Utilizza gli array tipizzati di JavaScript (Float32Array / DataView) così che il pattern di bit sia la genuina rappresentazione hardware, non un'approssimazione.

In modalità diretta riporta il pattern come esadecimale e come binario suddiviso nei suoi tre campi: il bit di segno, l'esponente (8 bit con bias 127 per float32, 11 bit con bias 1023 per float64), e la mantissa (23 o 52 bit). Decodifica inoltre l'esponente non polarizzato e classifica il valore come normale, subnormale, zero, infinito o NaN. Cosa fondamentale, stampa il valore esatto memorizzato letto di nuovo dai bit — che per float32 spesso differisce da ciò che hai digitato, rendendo visibile l'errore di arrotondamento in virgola mobile. Per esempio 0.1 non è memorizzato esattamente in nessuna delle due precisioni.

In modalità inversa incolli un pattern esadecimale (con o senza 0x) o una stringa binaria a larghezza intera e lo strumento reinterpreta quei bit come un float e mostra il valore decimale risultante più la stessa suddivisione in campi. Tutto viene eseguito localmente nel tuo browser. Questo è uno strumento di riferimento per comprendere l'arrotondamento, confrontare la singola con la doppia precisione, e ispezionare le codifiche speciali per ±0, ±∞ e NaN.

Domande frequenti

Perché il valore memorizzato differisce da ciò che ho digitato?
La maggior parte delle frazioni decimali non può essere rappresentata esattamente in virgola mobile binaria, quindi viene memorizzato il valore rappresentabile più vicino. Il convertitore rilegge i bit e mostra quel valore esatto memorizzato, che rivela l'errore di arrotondamento — specialmente nella singola precisione a 32 bit.
Come sono disposti i campi?
Float32 usa 1 bit di segno, 8 bit di esponente (bias 127) e 23 bit di mantissa; float64 usa 1 bit di segno, 11 bit di esponente (bias 1023) e 52 bit di mantissa. L'esponente non polarizzato è pari all'esponente grezzo meno il bias.
Come sono codificati zero, infinito e NaN?
Un esponente tutto a zero con mantissa zero è ±0, o un subnormale se la mantissa è diversa da zero. Un esponente tutto a uno indica ±infinito quando la mantissa è zero e NaN quando è diversa da zero. Lo strumento etichetta ciascuna categoria.
Posso passare da un pattern di bit a un numero?
Sì. Passa alla modalità inversa e incolla un pattern a 8 cifre esadecimali (float32) o 16 cifre esadecimali (float64), o una stringa binaria completa a 32 o 64 bit, e lo strumento reinterpreta quegli esatti bit come un valore in virgola mobile.

Altri strumenti