numeri
Come leggere i numeri espressi in esadecimale.
Francesco Melis su uictech, 17\10\2015, h. 15.11.

Alcune persone mi hanno chiesto come si fa ad interpretare  un numero
espresso in notazione esadecimale.

Come leggere i numeri in esadecimale.
Usando programmi di ricerca e sostituzione sofisticati, o editors che
lavorano sui files in modo approfondito intervenendo sui singoli bytes,
capita di trovare rappresentati i caratteri nella notazione esadecimale.
Il sistema di numerazione esadecimale è uno dei modi di rappresentare i
numeri. Così come esiste il familiare sistema decimale che usa la base
dieci ed il sistema di numerazione binario che usa la base due, il
sistema di numerazione esadecimale usa come base il numero sedici.
La seguente tabellina illustra la rappresentazione delle sedici cifre
del sistema esadecimale mediante una tabella di corrispondenze a due
colonne. Nella prima colonna compare il numero in decimale e nella
seconda colonna il numero in notazione esadecimale.
Come si può notare, in esadecimale compaiono le cifre dallo 0 al 9 più
le lettere alfabetiche dalla A alla F.

Dec. Esadec.
0    0
1    1
2    2
3    3
4    4
5    5
6    6
7    7
8    8
9    9
10    A
11    B
12    C
13    D
14    E
15    F

Considerando i caratteri all'interno dei files, come noto, almeno nei
files ASCII, un carattere è rappresentato da un byte, cioè un numero
binario di otto bit. Il numero massimo rappresentabile con un byte è il
numero di valore decimale 255. Tutti i caratteri all'interno dei files
ASCII sono rappresentati quindi da un numero il cui valore massimo è 255
in decimale.
Nei files di testo sofisticati, come i files in standard Unicode, un
carattere può essere rappresentato da più di un byte. In ogni caso però,
anche nei files Unicode, i tradizionali caratteri alfabetici, le cifre
numeriche, la punteggiatura, vengono rappresentati con un solo byte.
Nei programmi editor esadecimali che consentono l'editing dei singoli
bytes dei files o in programmi di ricerca e sostituzione sofisticata, i
bytes molto frequentemente si trovano rappresentati in notazione
esadecimale.
Interpretare il valore di un byte/carattere espresso in esadecimale è
molto semplice.
Un byte in esadecimale è sempre rappresentato da due cifre esadecimali.
Il byte di valore zero si rappresenta in esadecimale con 00. Il byte di
valore decimale 255 si rappresenta con i due caratteri FF.
Per interpretare il valore di un numero espresso in esadecimale occorre
fare così:

1) prendere la prima cifra a sinistra nella coppia espressa in
esadecimale e vedere il suo valore decimale nella tabellina delle
corrispondenze precedente;
2) moltiplicare il valore per 16;
3) prendere la seconda cifra, (quella a destra) e vedere il suo valore
decimale dalla tabella;
4) Sommare questo valore al prodotto ottenuto al passo 2.
5) Fine

Esempi:
Il carattere ASCII A maiuscola, che come noto è rappresentato in
decimale dal valore 65, in esadecimale si rappresenta come 41.
41 = 4 moltiplicato 16 più 1 = 65

Il carattere 7B
7B = 7 moltiplicato 16 più 11 = 123 che è il carattere parentesi graffa
aperta.

Il carattere 0C
0C = 0 moltiplicato 16 più 12 = 12 che è il carattere di "Form Feed"
cioè il carattere che rappresenta il "cambio pagina" e che in fase di
stampa fa espellere il foglio attuale e fa caricare il foglio successivo.

La coppia di caratteri in esadecimale 0D 0A corrisponde in decimale a 13
(ritorno carrello) e 10 (nuova linea), che è la coppia di valori che
rappresenta il ritorno a capo in ambiente Windows/Dos:
0D = 0 per 16 più 13 = 13
0A = 0 per 16 più 10 = 10
Torna all'indice