Strumenti
IT

Cos'è il sistema esadecimale?

L'esadecimale, o hex, è il sistema di numerazione in base 16. Scrive i numeri con 16 simboli – 0–9 e A–F – ed è la notazione abbreviata standard per i dati binari in informatica, dai colori del web agli indirizzi di memoria.

L'esadecimale in una frase

L'esadecimale è un sistema di numerazione posizionale in base 16: ogni cifra vale 16 volte quella alla sua destra, e i valori da 10 a 15 si scrivono con le lettere da A a F. Per indicare che un numero è esadecimale, i programmatori scrivono 0x1A (C, Java, JavaScript, Python), #1A2B3C per i colori CSS, 1Ah in assembly o 1A₁₆ in matematica.

Le cifre esadecimali da 0 a 15

DecimaleHexBinarioDecimaleHexBinario
000000881000
110001991001
22001010A1010
33001111B1011
44010012C1100
55010113D1101
66011014E1110
77011115F1111

Contare in esadecimale

In esadecimale si conta come in decimale, ma il riporto scatta dopo la F invece che dopo il 9: … 8, 9, A, B, C, D, E, F, 10, 11 … 19, 1A … 1F, 20 … FF, 100. Qui 10 significa sedici e 100 significa 16 × 16 = 256. Due cifre hex coprono un byte (00–FF = 0–255), quattro cifre arrivano fino a FFFF = 65.535 e otto cifre fino a FFFFFFFF = 4.294.967.295.

Perché i computer usano l'esadecimale

I computer memorizzano tutto in binario, ma lunghe sequenze di 0 e 1 sono difficili da leggere per le persone e facili da sbagliare. Poiché 16 = 2⁴, una cifra hex corrisponde esattamente a quattro bit (un nibble) e due cifre hex a un byte. La conversione tra hex e binario è una semplice sostituzione cifra per cifra, e l'hex è quattro volte più corto: 1101 1110 1010 1101 è semplicemente DEAD. Il decimale non ha un rapporto così diretto con il binario, ed è per questo che si usa raramente per i dati grezzi.

Convertire da esadecimale a decimale e viceversa

I nostri convertitori fanno tutto questo all'istante e mostrano ogni passaggio.

Dove si usa l'esadecimale

Esadecimale, decimale, ottale e binario a confronto

SistemaBaseCifre255 si scriveUso tipico
Binario20–111111111Hardware, flag di bit
Ottale80–7377Permessi dei file Unix (chmod 755)
Decimale100–9255Numeri di tutti i giorni
Esadecimale160–9, A–FFFByte, colori, indirizzi, hash

Numeri negativi in esadecimale

L'esadecimale in sé non ha un segno speciale, quindi i numeri negativi vengono di solito memorizzati in complemento a due: il bit più alto di un valore a dimensione fissa indica che è negativo. Come byte con segno, 7F è 127, 80 è −128 e FF è −1; come intero a 32 bit, FFFFFFFF è −1. In matematica e nella nostra calcolatrice puoi anche scrivere semplicemente il segno meno: −1A = −26.

Domande frequenti

Perché l'esadecimale usa le lettere?

La base 16 richiede sedici cifre di un solo carattere, ma le cifre numeriche sono solo dieci. Le lettere A–F rappresentano i valori 10–15. Maiuscole e minuscole hanno lo stesso significato: ff = FF = 255.

Cosa significa 0x davanti a un numero?

Indica che il numero è esadecimale in C, C++, Java, JavaScript, Python e molti altri linguaggi: 0x10 vale 16, non dieci. Il CSS usa invece # per i colori, e il codice assembly spesso aggiunge una h finale (10h).

L'esadecimale è la stessa cosa del Base64?

No. L'hex scrive ogni byte con due caratteri tra 0–9 e A–F, quindi i dati raddoppiano di dimensione ma restano facili da leggere byte per byte. Il Base64 usa 64 caratteri e racchiude 3 byte in 4 caratteri: è più compatto (circa il 33% in più) ma non è leggibile byte per byte.

Ultimo aggiornamento: