Menu
Coddy logo textTech

Perché l'esadecimale?

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

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

Il problema del binario:

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).

Il sistema 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

Lo stesso numero, tre rappresentazioni:

DecimaleBinarioEsadecimale
25511111111FF
100011111010003E8
655351111111111111111FFFF

Nota quanto è più breve l’esadecimale rispetto al binario.

Dove vedrai l'esadecimale 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)

Gli esadecimali si scrivono con un prefisso:

PrefissoEsempioSignificato
0x0xFFFF in esadecimale (255 in decimale)
$$FFLa stessa cosa (usato in alcuni assemblatori)
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