|
 |
Misura dell'Informazione |
SCHEDA n° 08 [
10
di 11] |
 |
|
Il sistema di numerazione esadecimale [2 di 2] |
|
 | In realtà la notazione con il pedice
16 non è mai utilizzata; in alternativa i
numeri esadecimali possono essere qualificati con l'aggiunta
di una H (per Hexadecimal)
subito dopo le cifre che lo
rappresentano: |
|
(A3C8)16 |
A3C8H |
=
(1010001111001000 )2 |
|
(A7)16 |
A7H |
=
(10100111)2 |
|
(1B0)16 |
1B0H |
=
(110110000)2 |
|
(655)16 |
655H |
=
(11001010101)2 |
|
(7293)16 |
7293H |
=
(111001010010011)2 |
|
(ABCD)16 |
ABCDH |
=
(1010101111001101)2 |
 | Oltre a dare immediatezza e certezza sulla natura
dell'informazione, questo accorgimento è diventato una
necessità, nella programmazione assembly. |
 | Se si dimentica la H finale è
possibile incorrere in spiacevoli (e subdoli..) malfunzionamenti dei programmi
che ne fanno uso; non va dimenticato infatti che l'assemblatore
accetta di buon grado, come operando, sia 10 che
10H, ma le due stringhe
esprimono (ovviamente) un dato diverso:
 | la prima (es: MOV
AL,10) fa riferimento ad un numero dichiaratamente
decimale |
 | la seconda (es: INT
10H) fa riferimento ad un numero dichiaratamente
esadecimale e, se si dimenticasse la
H verrebbe eseguita una procedura inesistente,
con probabile blocco del computer... |
|
 | Per concludere possiamo analizzare il sistema di numerazione
esadecimale nell'ambito generale nel quale sono stati trattati gli
altri. |
 | Combinando i suoi 16
elementi tra loro otteniamo numeri esadecimali,
come 32A
o FF ma anche come 309 o
2003; vale il discorso sottolineato per i
numeri binari: se i primi 2 non pongono problemi (la nostra mente
legge tredueA e effeeffe)
l'aspetto dei secondi 2 può indurci nella tentazione di leggerli d'istinto (trecentonove,
duemilatre), ma non è così! |
 | Nonostante gli elementi del sistema
esadecimale contengano anche quelli del
sistema decimale non si tratta della stessa cosa e i
numeri esadecimali 309
e 2003 vanno letti ancora rispettivamente
trezeronove e
duezerozerotre, tutto d'un fiato come si faceva
con quelli binari. |
 | Analizziamo per esempio il numero
esadecimale 32A
con le solite regole dei sistemi di
numerazione:
 | le cifre coinvolte (3,
2 e A)
sono elementi del sistema di numerazione
esadecimale |
 | la cifra più significativa è
3
e occupa la
posizione 2; la cifra al centro è 2
e occupa la
posizione 1; la cifra
meno significativa è A
e occupa (ovviamente) la
posizione 0 |
 | poichè il peso
di ogni cifra è
Bn (base elevata alla
posizione), il 3 pesa (=vale)
256, il 2 pesa 16 e
A
pesa 1 |
 | il concetto di centinaia,
decine e
unità (essendo tipico ed esclusivo del sistema di numerazione decimale)
non ha più senso, ma per certi versi mantiene la sua valenza logica |
|
 | Sulla base di queste indicazioni il
numero del nostro esempio (espresso nel sistema di numerazione
esadecimale)
può essere scritto anche in questo modo:
|
N = (32A)16
= 3*162
+ 2*161
+ A*160
= 3*256 +
2*16
+ A*1= (810)10 |
|
 | Si noti che, qualora le cifre del numero
esadecimale siano di tipo letterale,
per il calcolo del numero
decimale finale si sostituisce loro il valore decimale
corrispondente; nell'esempio 3*256 +
2*16
+ A*1= 768 + 32 + 10, appunto (810)10. |
©
2001-2010 - Studio Tecnico
ing. Giorgio OBER
Tutti i diritti sono riservati
|