Menu
CoddyTech

Perché l'esadecimale?

Fa parte della sezione Fondamenti del percorso Assembly di Coddy. Lezione 10 di 45.

Ora sai che i computer usano il binario. Allora perché i programmatori assembly scrivono raramente direttamente in binario?

Il problema dei numeri binari:

I numeri binari sono molto lunghi. Guarda questo esempio:

NumeroBinario
25511111111
10001111101000
655351111111111111111

Scrivere lunghe stringhe di 1 e 0 è lento, soggetto a errori e difficile da leggere.

La soluzione: esadecimale (base 16).

L’esadecimale (o «hex») usa 16 simboli:

CifraValore
0-9Da 0 a 9
A10
B11
C12
D13
E14
F15

Perché l'esadecimale è perfetto per i computer:

Una cifra esadecimale rappresenta esattamente 4 bit (mezzo byte).

BitCifre esadecimali necessarie
4 bit (nibble)1 cifra esadecimale
8 bit (1 byte)2 cifre esadecimali
16 bit (2 byte)4 cifre esadecimali
32 bit (4 byte)8 cifre esadecimali
64 bit (8 byte)16 cifre esadecimali

Stesso numero, tre modi:

DecimaleBinarioEsadecimale
25511111111FF
100011111010003E8
655351111111111111111FFFF

Nota quanto l'esadecimale sia più corto del binario.

Dove vedrai i valori esadecimali nell'assembly:

  • Indirizzi di memoria (come 0x7FFF o 0x402000)
  • Codici ASCII (come 0x41 per 'A', 0x0a per il carattere di nuova riga)
  • Valori dei registri nei debugger
  • Valori dei colori (come 0xFF0000 per il rosso)

L'esadecimale si scrive con un prefisso:

PrefissoEsempioSignificato
0x0xFFFF in esadecimale (255 in decimale)
$$FFLa stessa cosa (usato in alcuni assembler)
hFFhLa stessa cosa (stile più datato)

In questo corso, usiamo il prefisso 0x: 0x0a, 0x41, 0xFF.

Provalo tu

Questa lezione non include una sfida di codice.

quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Playground Assembly

Verifica una conversione: Convertitore di basi numeriche