Sistema numerico esadecimale

Il sistema numerico esadecimale (spesso abbreviato come esa o hex) è un sistema numerico posizionale in base 16, cioè che utilizza 16 simboli invece dei 10 del sistema numerico decimale tradizionale. Per l'esadecimale si usano in genere simboli da 0 a 9 e poi le lettere da A a F, per un totale di 16 simboli.

Ecco una tabella che confronta le rappresentazioni binarie, esadecimali e decimali dei numeri fino a 15:

 bin    hex   dec            bin    hex   dec
0000 = 0 = 0 1000 = 8 = 8 0001 = 1 = 1 1001 = 9 = 9 0010 = 2 = 2 1010 = A = 10 0011 = 3 = 3 1011 = B = 11 0100 = 4 = 4 1100 = C = 12 0101 = 5 = 5 1101 = D = 13 0110 = 6 = 6 1110 = E = 14 0111 = 7 = 7 1111 = F = 15

Perciò il numero decimale 79, la cui rappresentazione binaria è 0100 1111, può essere scritto come 4F in esadecimale.

Il sistema esadecimale è molto usato in informatica, per la sua relazione diretta tra una cifra esadecimale e quattro cifre binarie. È spesso usato come intermediario, oppure come sistema numerico a sé stante. Per esempio, è possibile esprimere un byte con esattamente due cifre esadecimali (invece che con 3 decimali, e lasciando gran parte dell'intervallo non utilizzato). È interessante, infatti, notare come ogni cifra esadecimale corrisponda a un Nibble (vedi Tipo di dato), cioè a un numero binario di quattro cifre.

Ci sono numerosi modi per denotare un numero come esadecimale, usati in differenti linguaggi di programmazione:

Non esiste un singolo standard, perciò tutte le convenzioni elencate sopra vengono utilizzate, e a volte lo stesso articolo può contenere due convenzioni diverse. Ciononostante, non si crea molta confusione perché tutte sono non ambigue.

La parola "esadecimale" è peculiare, perché il prefisso esa è derivato dal Greco έξι (exi) (che significa sei), e decimale deriva dalla parola latina per dieci.

Frazioni

Il sistema esadecimale se la cava abbastanza bene con le frazioni:

1/2 = 0,8
1/3 = 0,5555 periodico
1/4 = 0,4
1/5 = 0,3333 periodico
1/6 = 0,2AAAA periodico
1/8 = 0,2
1/A = 0,19999 periodico
1/C = 0,15555 periodico
1/F = 0,1111 periodico

Poiché la base è un quadrato, le frazioni esadecimali sono periodiche molto più frequentemente di quelle decimali. I decimali si ripetono quando il denominatore ha un fattore primo che non si trova nella base. Nel caso dei numeri esadecimali, questo si verifica se e solo se il denominatore non è una potenza di due.

See also: Sistema numerico esadecimale, Assembly, Basic, Byte, C linguaggio di programmazione, Fattore primo, Greco, Informatica, Latino, Linguaggio di programmazione Java