Come convertire numeri tra basi diverse
Binario, ottale, decimale ed esadecimale descrivono lo stesso valore con simboli e posizioni differenti. Qui trovi i metodi manuali, esempi verificabili e i limiti da considerare quando lavori con dati informatici.
Le basi a confronto
La base indica quante cifre diverse si usano prima di passare alla posizione successiva. In base 10 si usano le cifre da 0 a 9; in base 2 solo 0 e 1. In esadecimale le lettere A–F rappresentano i valori da 10 a 15.
| Base | Simboli ammessi | Esempio | Uso frequente |
|---|---|---|---|
| 2 | 0–1 | 1011₂ | Bit e rappresentazione digitale |
| 8 | 0–7 | 17₈ | Alcune notazioni informatiche |
| 10 | 0–9 | 11₁₀ | Uso quotidiano |
| 16 | 0–9, A–F | B₁₆ | Indirizzi, colori e dati binari compatti |
Il pedice indica la base e non fa parte del numero. Quando il pedice manca, il contesto dovrebbe chiarire la notazione; in caso di dubbio, dichiarare sempre la base.
Da una base al decimale: somma delle posizioni
Ogni cifra viene moltiplicata per la base elevata alla posizione, contando da zero a partire da destra. Poi si sommano i contributi.
= 32 + 8 + 4 + 1 = 45₁₀
In esadecimale, per esempio, 2F₁₆ vale 2×16 + 15 = 47₁₀, perché F rappresenta 15.
Dal decimale a una base: divisioni successive
Per convertire un intero positivo si divide ripetutamente per la base di destinazione. Si annota ogni resto e lo si legge dal basso verso l'alto.
- 156 ÷ 16 = 9 con resto 12.
- Il resto 12 corrisponde alla cifra C in base 16.
- Il quoziente 9 è inferiore a 16: la conversione termina.
Verifica inversa: 9×16 + 12 = 156. La verifica inversa è un modo semplice per intercettare errori di trascrizione.
Binario ed esadecimale: raggruppa quattro bit
Una cifra esadecimale corrisponde esattamente a quattro bit. Parti da destra e completa con zeri a sinistra il gruppo iniziale se necessario.
Il gruppo 0110 vale 6 e il gruppo 1100 vale 12, cioè C. Nel verso opposto, 3A₁₆ diventa 0011 1010₂.
Numeri frazionari e negativi
Per la parte frazionaria, le cifre dopo il separatore rappresentano potenze negative della base. Per esempio:
10,101₂ = 2 + 0,625 = 2,625₁₀
Non tutte le frazioni decimali hanno una rappresentazione binaria finita: 0,1₁₀, per esempio, produce una sequenza binaria periodica. Nei calcoli con virgola mobile possono quindi apparire piccoli scarti di arrotondamento.
I numeri negativi nei computer non si rappresentano soltanto aggiungendo un segno: spesso si usa il complemento a due, che dipende dal numero di bit scelto. Prima di interpretare una sequenza come valore con segno, occorre conoscere larghezza e convenzione.
Limiti di rappresentazione e overflow
Un intero senza segno su 8 bit può rappresentare valori da 0 a 255. Il valore 256 richiede 9 bit. Se un programma tenta di conservarlo in 8 bit, il risultato dipende dal linguaggio e dal tipo numerico: può verificarsi overflow, errore o una trasformazione del valore.
La conversione tra basi cambia la scrittura, non il valore matematico; la memorizzazione in un tipo informatico aggiunge invece vincoli di ampiezza, segno e precisione.
Errori comuni da evitare
- Usare una cifra non ammessa dalla base, per esempio 2 in binario o G in esadecimale.
- Leggere 10₁₆ come dieci decimale: in realtà vale sedici.
- Invertire l'ordine dei resti nel metodo delle divisioni successive.
- Dimenticare gli zeri iniziali quando servono a completare gruppi di quattro bit.
- Interpretare un valore binario come positivo senza conoscere la convenzione di segno.
- Confondere una conversione esatta con l'arrotondamento di un numero in virgola mobile.
Strumento e fonti di approfondimento
Per convertire rapidamente un valore puoi usare il convertitore di basi numeriche. Per calcoli numerici generali è disponibile anche la calcolatrice.
- NIST CSRC Glossary: radix — terminologia relativa alla base di numerazione.
- NIST Special Publication 811 — riferimenti metrologici e uso delle unità SI, utile per distinguere notazione numerica e unità di misura.
Le conversioni degli esempi sono controllabili ricostruendo il numero come somma di potenze della base.