La base Esadecimale


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:

11*10^0
101*10^1
1001*10^2
10001*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!

11*16^0
101*16^1
1001*16^2
10001*16^3
1(n zeri)1*16^n


Confrontiamo in questa tabella i numeri da 0 a 20 nei due sistemi:

Decimale Hex
11
22
34
55
66
77
88
99
10a
11b
12c
13d
14e
15f
1610=(1*16^1+0*16^0)=16
1711=(1*16^1+1*16^0)=17
1812=(1*16^1+2*16^0)=18
1913=(1*16^1+3*16^0)=19
2014=(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)
NumeroDivisoreRisultatoRestoHex
12345616771600
77161648244
482163022
3016114e
116011

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


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
1+
f=
___
10



Coding center

Assembly language

Back to home