Aritmetica

A06_Sistemi di numerazione

 

Licenza Creative Commons

 Eccetto dove diversamente specificato, il contenuto di questo sito è distribuito con Licenza Creative Commons Attribuzione - Non commerciale - Non opere derivate 3.0 Unported.


A06_4 Il sistema esadecimale

Che cos'è il sistema esadecimale?

 

Esadecimale significa a base 16. Il sistema esadecimale utilizza 16 simboli (cifre) per rappresentare i primi 16 numeri (da 0 a 15) e poi, come tutti i sistemi posizionali, utilizza combinazioni di due o più simboli per rappresentare tutti gli altri numeri interi.

 

Se gli esseri umani avessero avuto 16 dita, 8 dita per mano, probabilmente oggi useremmo tutti un sistema esadecimale per fare i calcoli. Magari da qualche parte nell'universo c'è una forma di vita intelligente con 16 dita, per esempio con 4 mani di 4 dita ciascuna.

 

A noi sulla Terra il sistema esadecimale serve per lo stesso motivo per il quale ci serve il sistema binario: a dialogare con i computer. Vedremo più avanti il perché. Prima dobbiamo capire come rappresentare il sistema esadecimale e come fare le conversioni con gli altri sistemi.

 

Con il sistema binario non abbiamo avuto bisogno di ideare dei simboli perché ne avevamo già dieci del nostro sistema decimale e ce ne servivano solo due. È stato facile decidere di usare 0 e 1, le prime due cifre del sistema decimale, come simboli del sistema binario.

 

Anche nel sistema esadecimale possiamo sfruttare i simboli che conosciamo già, ma qui abbiamo il problema opposto, i simboli sono troppo pochi, ne abbiamo solo dieci (da 0 a 9) e ce ne servono altri sei per arrivare a sedici: come fare?

 

Si potrebbero inventare dei simboli completamente nuovi, ma poi sarebbero difficili da ricordare, così si è deciso di usare dei simboli già ben conosciuti e cioè le prime 6 lettere dell'alfabeto, da A a F (di solito si preferisce usare le maiuscole, ma non è una regola rigida).

 

Bene, abbiamo i nostri 16 simboli, le nostre 16 cifre del sistema esadecimale, eccole qui:

 

0 1 2 3 4 5 6 7 8 9 A B C D E F

 

Quindi, se nel sistema esadecimale dico "sei" intendo il numero decimale 6, e se dico "effe" intendo il numero decimale 15. Ma, a questo punto è bene fare un confronto completo tra i primi 16 numeri nei tre sistemi esadecimale, decimale e binario, e per farlo non c'è niente di meglio che una tabella.

 

Tavola di conversione tra i sistemi esadecimale - decimale - binario

 

HEX DEC BIN
esa-
decimale
decimale binario
semplice a 4 bit
0 0   0   0 0 0 0
1 1   1   0 0 0 1
2 2   10   0 0 1 0
3 3   11   0 0 1 1
4 4   100   0 1 0 0
5 5   101   0 1 0 1
6 6   110   0 1 1 0
7 7   111   0 1 1 1
8 8   1000   1 0 0 0
9 9   1001   1 0 0 1
A 10   1010   1 0 1 0
B 11   1011   1 0 1 1
C 12   1100   1 1 0 0
D 13   1101   1 1 0 1
E 14   1110   1 1 1 0
F 15   1111   1 1 1 1

 

A cosa serve il sistema esadecimale?

 

Dalla tabella qui sopra risulta evidente che il sistema esadecimale consente di esprimere con un solo simbolo un gruppo di 4 bit del sistema binario perché:

 

16 = 2⁴.

 

Questa proprietà dell'esadecimale è molto utile in campo informatico perché le sequenze di bit sono organizzate in pacchetti a larghezza fissa multipla di 4 bit.

La sequenza più comune è 1 byte pari a 8 bit, ma ci sono anche le sequenze a 12, 16, 24, 32 e 64 bit.

 

Come abbiamo già visto, 1 byte nel sistema binario è di difficile lettura per noi umani. Consideriamo la sequenza:

 

01101101

 

Se convertissimo questo numero binario nel sistema decimale lo potremmo ricordare e riconoscere facilmente, ma la conversione dal sistema binario al sistema decimale richiede un calcolo non immediato:

 

0×2⁷+1×2⁶+1×2⁵+0×2⁴+1×2³+1×2²+0×2¹+1×2⁰ = 64+32+8+4+1 = 109

 

Invece, per la conversione dal sistema binario all'esadecimale, è sufficiente la memorizzazione della tabella vista sopra. Dividendo il numero binario in gruppi di quattro bit:

 

0110    1101

 

il primo gruppo corrisponde all'esadecimale 6

il secondo gruppo corrisponde all'esadecimale D

 

Quindi la conversione è 01101101 (bin) = 6D (hex)

 

Esempi pratici di uso del sistema esadecimale sono:

  • il codice esadecimali dei colori (una lista dei codici si trova in questa pagina)
  • il codice identificativo univoco di un dispositivo di rete detto anche MAC address

CODICI COLORE

https://it.wikipedia.org/wiki/Lista_dei_colori
https://it.wikipedia.org/wiki/Lista_dei_colori

 INDIRIZZO MAC

© Raimond Spekking / CC BY-SA 4.0 (via Wikimedia Commons) https://en.wikipedia.org/wiki/MAC_address
© Raimond Spekking / CC BY-SA 4.0 (via Wikimedia Commons) https://en.wikipedia.org/wiki/MAC_address