Nel corso delle lezioni precedenti, abbiamo mostrato che la conversione tra binario e decimale può essere dispendiosa in termini di tempo, specialmente se si ha bisogno di manipolare numeri relativamente grandi. Inoltre la rappresentazione binaria utilizza grossomodo 3.3 bit per ogni cifra decimale. In conseguenza di ciò, le rappresentazioni binarie sono solitamente troppo lunghe e difficili da leggere.
Le codifiche esadecimale ed ottale risolvono questo problema, fornendo uno strumento che consente una rappresentazione più compatta di un numero binario. Questo può essere ottenuto utilizzando rispettivamente un insieme di 2^4=16 oppure 2^3=8 simboli al posto di sequenze di quattro o di tre bit.
Nella codifica esadecimale, vengono utilizzati i numeri da 0 a nove per rappresentare le prime 10 combinazioni di 4 bit. mentre per le restanti sei combinazioni vengono utilizzate le lettere da A ad F. Come mostrato nella seguente tabella.
Binario | Decimale | Esadecimale |
0000 | 0 | 0 |
0001 | 1 | 1 |
0010 | 2 | 2 |
0011 | 3 | 3 |
0100 | 4 | 4 |
0101 | 5 | 5 |
0110 | 6 | 6 |
0111 | 7 | 7 |
1000 | 8 | 8 |
1001 | 9 | 9 |
1010 | 10 | A |
1011 | 11 | B |
1100 | 12 | C |
1101 | 13 | D |
1110 | 14 | E |
1111 | 15 | F |
Nella codifica ottale è sufficiente utilizzare i primi otto numeri, in sostituzione di sequenze di tre bit.
Binario | Decimale | Ottale |
000 | 0 | 0 |
001 | 1 | 1 |
010 | 2 | 2 |
011 | 3 | 3 |
100 | 4 | 4 |
101 | 5 | 5 |
110 | 6 | 6 |
111 | 7 | 7 |
La codifica esadecimale è usata praticamente in tutti i contesti in cui sia necessario rappresentare un numero binario. È ovviamente molto comune in assembler e nella programmazione di sistema, ma può essere ad esempio molto utile anche nella rappresentazione dei colori.