Quando noi contiamo in base 10, cioè come fanno abbiamo imparato dalla nascita, utilizziamo 10 simboli per rappresentare qualunque numero:
[1-2-3-4-5-6-7-8-9-0]
Il sistema esadecimale (che abbrevierò con Hex) utilizza invece 16 simboli:
[1-2-3-4-5-6-7-8-9-0-a-b-c-d-e-f]
Il sistema decimale come tutti sanno è un sistema posizionale, cioè il valore di una cifra si basa sulla posizione in cui essa si trova:
Prendiamo come cifra l'1:
1
1*10^0
10
1*10^1
100
1*10^2
1000
1*10^3
1(n zeri)
1*10^n
Cioè il valore di ogni cifra e quello che si ottiene moltiplicando la stessa per una potenza di 10 eguale alla posizione della cifra (Es.3° posizione 10^3, ecc )
Il sistema esadecimale funziona allo stesso modo, ma invece di potenze di 10 useremo potenze di 16!
1
1*16^0
10
1*16^1
100
1*16^2
1000
1*16^3
1(n zeri)
1*16^n
Confrontiamo in questa tabella i numeri da 0 a 20 nei due sistemi:
Decimale
Hex
1
1
2
2
3
4
5
5
6
6
7
7
8
8
9
9
10
a
11
b
12
c
13
d
14
e
15
f
16
10=(1*16^1+0*16^0)=16
17
11=(1*16^1+1*16^0)=17
18
12=(1*16^1+2*16^0)=18
19
13=(1*16^1+3*16^0)=19
20
14=(1*16^1+4*16^0)=20
Da decimale ad hex e viceversa
Da decimale ad hex
Un esempio è meglio di 1000 parole:
123456(base 10)=?(hex)
Numero
Divisore
Risultato
Resto
Hex
123456
16
7716
0
0
7716
16
482
4
4
482
16
30
2
2
30
16
1
14
e
1
16
0
1
1
Controlliamo:
123456=1e240
=1*(16^4)+e*(16^3)+2*(16^2)+4*(16^1)+0*(16^0)
=65536+57344+512+64+0=123456
Esatto è il numero di partenza!
Da hex a decimale
Contiamo di quante cifre è composto il numero, partendo a contare da zero e dalla cifra meno significativa (la prima a destra)
Partendo da sinistra moltiplichiamo ogni singola cifra per ( 16^posizione_della_cifra)
Sommiamo i risultati delle moltiplicazioni ottenendo così il numero in decimale
Operare in hex
Tutte le operazioni si svolgono come in decimale solo che si ha riporto quando arriviamo a 16 invece che a 10:Es