Tabella di riferimento per la conversione tra basi
La tabella mostra gli stessi valori scritti nelle quattro basi. Nota come una cifra esadecimale corrisponda a quattro cifre binarie e una cifra ottale a tre.
| Decimale | Binario | Ottale | Esadecimale |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 5 | 101 | 5 | 5 |
| 8 | 1000 | 10 | 8 |
| 10 | 1010 | 12 | A |
| 15 | 1111 | 17 | F |
| 16 | 10000 | 20 | 10 |
| 100 | 1100100 | 144 | 64 |
| 255 | 11111111 | 377 | FF |
- Questo calcolatore gestisce numeri interi non negativi fino al limite di interi sicuri dell'aritmetica in virgola mobile a doppia precisione IEEE 754 (2⁵³ − 1 = 9.007.199.254.740.991); i valori superiori vengono rifiutati anziché arrotondati silenziosamente.
- I valori frazionari e i numeri negativi (rappresentazione in complemento a due) esulano dallo scopo di questo convertitore.
Cos'è il sistema numerico binario?
Il binario è un sistema numerico posizionale in base 2: scrive ogni numero usando solo le cifre 0 e 1, dove ciascuna posizione rappresenta una potenza di due. Leggendo il numero binario 1010 da destra, le cifre corrispondono a 0×1 + 1×2 + 0×4 + 1×8 = 10 in decimale. L'elettronica digitale memorizza ed elabora le informazioni in binario perché un componente circuitale con due stati (acceso/spento) corrisponde direttamente a una cifra binaria, o bit.
L'esadecimale (base 16) e l'ottale (base 8) sono compagni compatti del binario. Poiché 16 = 2⁴, una cifra esadecimale rappresenta esattamente quattro cifre binarie, e poiché 8 = 2³, una cifra ottale ne rappresenta esattamente tre. L'esadecimale usa le cifre 0-9 più le lettere A-F per i valori da dieci a quindici; il numero decimale 255 è 11111111 in binario, FF in esadecimale e 377 in ottale.
Tutti i sistemi posizionali seguono la stessa regola: un numero scritto come cifre dₙ…d₁d₀ in base b ha per valore la somma di ciascuna cifra moltiplicata per b elevato alla posizione della cifra. Convertire tra basi è quindi un'operazione puramente notazionale: si valutano le cifre rispetto alla base di partenza per ottenere il valore, poi si divide ripetutamente per la base di destinazione per scriverlo.
Come usare questo calcolatore binario
- Digita il numero che vuoi convertire (fino a 64 cifre; i prefissi come 0b, 0x o 0o vengono accettati e ignorati).
- Seleziona la base in cui è scritto il numero — binaria, decimale, esadecimale o ottale.
- Leggi il valore decimale e le equivalenti rappresentazioni binaria, esadecimale e ottale.
- Sono accettate solo le cifre valide nella base selezionata; per esempio, la cifra 8 non è valida in un input ottale.
La matematica dietro la conversione tra basi
Per convertire in decimale, moltiplica ciascuna cifra per la sua base elevata alla posizione della cifra (contando da 0 da destra) e somma i risultati. Per convertire fuori dal decimale, dividi ripetutamente per la base di destinazione e leggi i resti in ordine inverso.
Esempio pratico: 1010 in binario equivale a 1×2³ + 0×2² + 1×2¹ + 0×2⁰ = 8 + 2 = 10 in decimale. Scrivendo 10 in altre basi: 10 ÷ 16 = 0 resto 10 → A in esadecimale; 10 ÷ 8 = 1 resto 2 → 12 in ottale.
Errori comuni
- Leggere 10 in un'altra base come 'dieci': 10 indica sempre la base stessa in ogni sistema posizionale (10₂ = 2, 10₈ = 8, 10₁₆ = 16).
- Usare cifre che non esistono nella base selezionata, come 8 o 9 in ottale, o lettere oltre la F in esadecimale.
- Confondere le dimensioni dei gruppi di bit: una cifra esadecimale corrisponde a quattro bit e una cifra ottale a tre bit, quindi raggruppare male le cifre binarie dà una conversione sbagliata.
- Dimenticare che gli zeri iniziali non cambiano nulla: 0010₂ e 10₂ valgono entrambi 2 in decimale.
Domande frequenti
Come si converte il binario in decimale a mano?
Moltiplica ciascuna cifra binaria per la potenza di due della sua posizione, contando da 0 dalla cifra più a destra, e somma i risultati. Per 1101: 1×8 + 1×4 + 0×2 + 1×1 = 13. Leggendo da destra a sinistra, i valori delle posizioni sono 1, 2, 4, 8, 16, 32 e così via.
Come si converte il decimale in binario?
Dividi il numero per 2 ripetutamente e annota ogni resto. Il risultato in binario è dato dai resti letti in ordine inverso. Per 13: 13÷2 = 6 r 1, 6÷2 = 3 r 0, 3÷2 = 1 r 1, 1÷2 = 0 r 1 — leggendo dal basso verso l'alto si ottiene 1101.
Perché i computer usano il binario?
I circuiti digitali distinguono in modo affidabile due stati di tensione, e ciascuno stato corrisponde a una cifra binaria (bit). Costruire l'hardware attorno a due stati rende semplice e resistente al rumore la memorizzazione e la logica, per cui tutti i processori e le memorie di uso comune rappresentano i dati in binario a livello fisico, qualunque notazione usino poi i programmatori.
A cosa serve l'esadecimale?
L'esadecimale è un modo compatto di scrivere il binario: una cifra esadecimale codifica esattamente quattro bit, quindi un byte è sempre composto da due cifre esadecimali (00-FF). È la notazione standard per indirizzi di memoria, codici colore (ad esempio #FF6600), indirizzi MAC e dump di dati grezzi, perché è molto più breve del binario pur convertendosi in esso cifra per cifra.
Qual è il numero più grande accettato da questo calcolatore?
Gli input sono limitati a 64 cifre e a valori pari o inferiori a 2⁵³ − 1 = 9.007.199.254.740.991, il più grande intero che la virgola mobile a doppia precisione IEEE 754 può rappresentare in modo esatto. Oltre questo limite, i numeri JavaScript ordinari perdono precisione sugli interi, quindi il calcolatore rifiuta l'input invece di restituire un risultato arrotondato.
Fonti
- Knuth DE. The Art of Computer Programming, Volume 2: Seminumerical Algorithms, 3rd edition, Addison-Wesley, 1997 — positional number systems and radix conversion.
- IEEE Std 754-2019. IEEE Standard for Floating-Point Arithmetic — double-precision format and exact-integer range.