Menu

Convertitore di basi numeriche

Converti numeri tra binario, ottale, decimale ed esadecimale.

Di Nethanel Bar, Co-founder & CEO

Ultimo aggiornamento

Vuoi imparare a programmare sul serio?

Coddy ti insegna facendoti scrivere codice vero nel browser: lezioni interattive, feedback immediato e aiuto dall'AI quando ti blocchi.

Che cos'è un convertitore di basi numeriche?

Un convertitore di basi numeriche prende un numero scritto in un sistema di numerazione (binario, ottale, decimale o esadecimale) e lo riscrive in uno qualsiasi degli altri. Gli sviluppatori lo usano per leggere bitmask, fare debug dei codici colore, decodificare i flag nei pacchetti di un protocollo, lavorare con i registri hardware e passare da esadecimale a decimale in tutto, dal CSS all'assembly alla crittografia.

Il numero in sé non cambia tra una base e l'altra: cambia solo la *rappresentazione*. 255 in decimale è 0xFF in esadecimale, 0b11111111 in binario e 0o377 in ottale. Sono quattro modi diversi di scrivere lo stesso valore.

Gli strumenti moderni devono gestire numeri grandi senza perdere precisione. Il normale parseInt di JavaScript arrotonda in silenzio tutto ciò che supera 2⁵³, causando bug sottili con valori di registri a 64 bit, ID e timestamp. Un buon convertitore usa BigInt dietro le quinte, così un valore esadecimale a 256 bit fa andata e ritorno senza errori.

Cosa impari convertendo tra basi

  • Il binario usa 2 cifre (0, 1), l'ottale 8, il decimale 10 e l'esadecimale 16 (da 0 a 9 e da a ad f).
  • Ogni cifra binaria è un *bit*. 4 bit = 1 cifra esadecimale. 8 bit = 1 byte = 2 cifre esadecimali.
  • L'esadecimale è solo un modo compatto di leggere il binario. 0xCAFE è 1100 1010 1111 1110 in binario, ma molto più leggibile.
  • In JavaScript standard i numeri oltre 2⁵³ perdono precisione. Usa BigInt (123n) quando lavori con interi grandi.

Come convertire tra basi passo dopo passo

  1. Scegli la base di partenza

    Scegli binario, ottale, decimale o esadecimale, a seconda del numero che hai.

  2. Scrivi il valore

    L'esadecimale accetta sia ff sia 0xff. Il binario accetta sia 1010 sia 0b1010. Il convertitore rimuove il prefisso automaticamente.

  3. Leggi tutte le basi insieme

    Le quattro rappresentazioni dello stesso numero compaiono all'istante. Fai clic su una qualsiasi per copiarla.

  4. Attiva il raggruppamento delle cifre

    Raggruppa il binario per 4 bit (1100 1010 1111 1110) e l'esadecimale per 2 caratteri (CA FE). Utile per esaminare campi di bit e dump.

Riferimento rapido delle basi numeriche

Valori di riferimento comuni nelle quattro basi. La grammatica di BigInt e dei letterali numerici di JavaScript copre la sintassi usata qui sotto.

DecimaleBinarioOttaleHex
0000
1111
81000108
10101012A
16100002010
321000004020
64100000010040
100110010014464
1281000000020080
25511111111377FF
256100000000400100
1024100000000002000400
655351111111111111111177777FFFF

Esempi di conversione tra basi da provare

Codici colore RGB

Hex
color: #ff8800;
Decimale
color: rgb(255, 136, 0);

Ogni coppia di cifre esadecimali è un byte (0–255) per un canale. ff = 255, 88 = 136, 00 = 0.

Leggere una bitmask di permessi

Decimale

5

Binario

0b101

Come leggere i bit

Il bit 0 (lettura) è attivo, il bit 2 (esecuzione) è attivo, il bit 1 (scrittura) no. Quindi i permessi sono lettura + esecuzione.

I permessi dei file Unix (chmod), i feature flag e i pacchetti di rete codificano più valori booleani come bit dentro un unico intero. La vista binaria li rende visibili.

Conversione con precisione BigInt

Hex (molto grande)

0xFFFFFFFFFFFFFFFF

Decimale

18446744073709551615

È il massimo intero senza segno a 64 bit. Il normale parseInt di JavaScript perderebbe precisione; BigInt lo gestisce senza problemi.

Errori comuni nella conversione tra basi

  • Confondere il *numero* con il *letterale*. 0x10 e 10 si somigliano ma valgono 16 e 10: nel codice includi sempre il prefisso della base.
  • Leggere l'esadecimale da sinistra a destra dimenticando l'ordine dei byte (endianness) nei dump di memoria grezzi.
  • Usare parseInt(big, 16) in JavaScript su valori oltre 2⁵³. Usa invece BigInt('0x' + hex).
  • Riempire i byte nel modo sbagliato. 0xF scritto come byte è 0x0F, non 0xF0: gli zeri iniziali contano nei campi a larghezza fissa.
  • Mescolare interpretazioni con e senza segno. L'esadecimale 0xFFFF_FFFF è 4294967295 senza segno ma -1 con segno (complemento a due).

Domande frequenti sul convertitore di basi numeriche

Come si converte da binario a decimale?
Moltiplica ogni cifra binaria per la potenza di 2 corrispondente, partendo da destra. Per 1010: 1·8 + 0·4 + 1·2 + 0·1 = 10. Oppure incollalo in un convertitore di basi per avere subito la risposta.
Come si converte da decimale a esadecimale?
Dividi ripetutamente il numero decimale per 16, annotando i resti (da 0 a 15, con i valori da 10 a 15 scritti da A a F). Leggi i resti dal basso verso l'alto. 255 ÷ 16 = 15 resto 15 → FF.
A cosa serve l'esadecimale?
L'esadecimale si usa ovunque serva una forma compatta e leggibile del binario: codici colore (#ff8800), indirizzi di memoria, dump di file, indirizzi MAC, hash e la maggior parte dei sistemi a basso livello.
Qual è la differenza tra ottale ed esadecimale?
L'ottale è in base 8 (cifre da 0 a 7); l'esadecimale è in base 16 (cifre da 0 a 9 e da A a F). Oggi l'ottale è raro, ma compare ancora nei permessi dei file Unix (0755) e in alcuni letterali numerici dei linguaggi della famiglia C.
Perché i numeri binari crescono così in fretta?
Ogni nuova cifra raddoppia il numero di valori rappresentabili. 8 bit rappresentano 256 valori; 16 bit ne rappresentano 65.536; 32 bit oltre 4 miliardi. Ecco perché le bitmask racchiudono molto significato in un numero piccolo.

Scopri di più

Altri strumenti per sviluppatori

Illustrazione dei linguaggi di programmazione di Coddy

Impara a programmare con Coddy

INIZIA