# Spiegazione del sistema esadecimale

Mentre il sistema decimale con le sue dieci cifre è parte integrante della nostra normale vita quotidiana, l’informatica e l’elaborazione dei dati si basano sul [sistema binario](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/codice-binario/) o **codice binario**. Questo permette di rappresentare questioni complesse con solo due stati: 0 e 1. Tuttavia, i grandi numeri binari hanno lo svantaggio di risultare spesso incomprensibili. In questo caso il **sistema esadecimale** fornisce un rimedio: infatti, un’informazione che avrebbe bisogno di 8 cifre nel sistema binario può essere espressa con solo 2 numeri esadecimali.

## Che cos’è il sistema esadecimale?

La parola **esadecimale** è composta dalle parole *hexa* e *decem*. *Hexa* deriva dal greco e significa “sei”, mentre *decem* è la parola latina per “dieci”. Il sistema esadecimale è quindi un sistema di valori di posizione che rappresenta i numeri su una base di 16 cifre. Questo significa che il sistema numerico esadecimale utilizza 16 cifre diverse. In altre parole: ci sono 16 simboli di cifre possibili, contro due nel sistema binario (1 e 0) e dieci nel sistema decimale (da 0 a 9). Ma qual è lo scopo di questo sistema nella pratica?

## A cosa serve il sistema esadecimale?

Il sistema esadecimale è usato nella tecnologia informatica e facilita la leggibilità di grandi numeri o **lunghe sequenze di bit**. Questi sono raggruppati per quattro bit ciascuno e convertiti in numeri esadecimali. Il risultato: lunghe sequenze di uno e zero diventano numeri esadecimali più brevi, che a loro volta possono essere divisi in gruppi di due o quattro. Quindi, i numeri esadecimali sono una **forma più compatta** di rappresentazione di sequenze di bit. Il sistema è usato, tra l’altro, nell’indirizzo sorgente e di destinazione dell’[Internet Protocol (IP)](https://www.ionos.it/digitalguide/server/know-how/che-cose-il-protocollo-internet-definizione-di-ip-co/), nel [codice ASCII](https://www.ionos.it/digitalguide/server/know-how/ascii-american-standard-code-for-information-interchange/) e nella descrizione dei codici di colore nel web design nel [linguaggio CSS](https://www.ionos.it/digitalguide/siti-web/web-design/come-imparare-il-css-una-guida-semplice/).

Consiglio Vi serve un nuovo sito web? Con [MyWebsite](https://www.ionos.it/sito-web/creare-sito-web "Creare un sito web con IONOS") avete a disposizione modelli di design professionali in moderne combinazioni di colori.

## Il sistema esadecimale: la scrittura

Come già detto, il sistema esadecimale mette a disposizione 16 simboli numerici possibili. Tuttavia, sorge un potenziale problema: con la notazione numerica convenzionale, si usano i numeri decimali 10, 11, 12, 13, 14 e 15 utilizzando due simboli contigui. Quando però si esprime il numero 10 in notazione esadecimale, non è chiaro se si intenda il numero decimale 10 o il numero binario 2 (1 + 0).

Per risolvere questo problema, i numeri esadecimali che denotano i valori da 10 a 15 sono sostituiti dalle lettere maiuscole A, B, C, D, E e F. Perciò, nel sistema esadecimale, i numeri da **0 a 9** e le lettere maiuscole da **A a F** sono usati per rappresentare l’equivalente del numero binario o decimale. Per poter distinguere i numeri esadecimali dai numeri decimali, sono disponibili diversi tipi di notazione (negli esempi seguenti, viene descritto il numero esadecimale “73”):

- 7316
- 73hex
- 73h
- 73H
- 73H
- 0x73
- $73
- \#73
- “73
- X’73’

Il prefisso *0x* e il suffisso *h* sono usati specialmente nella programmazione, mentre il prefisso con il simbolo del dollaro è usato con certe famiglie di processori in linguaggio assembly.

## La relazione tra numeri esadecimali e numeri binari

Se si descrivono stati complessi, le stringhe di bit o le stringhe binarie possono diventare molto lunghe. Nell’uso quotidiano del sistema numerico decimale, si usano gruppi di tre cifre per rendere più leggibile un numero **molto grande** come un milione o un trilione. Lo stesso vale per i sistemi digitali: per rendere una stringa di bit come 11110101110011112 più facile da leggere, di solito questa viene divisa in gruppi di quattro. Il nostro esempio sarebbe così: 1111 0101 1100 11112, ma diventa ancora più leggibile se si convertono le cifre binarie in numeri esadecimali.

Poiché 16 nel sistema decimale è la quarta potenza di 2 (o 24), esiste una relazione diretta tra i numeri 2 e 16, cosicché una cifra esadecimale corrisponde a **4 cifre binarie**. Grazie a questa relazione, si possono rappresentare **4 cifre** di un numero binario con **una sola cifra esadecimale**. Ciò rende la conversione tra i numeri binari ed esadecimali relativamente facile e i grandi numeri binari possono essere scritti con meno cifre grazie al sistema esadecimale.

N.B. Nella tecnologia informatica, una cifra o posizione binaria corrisponde a un bit. Un byte comprende 8 bit e un mezzo byte, chiamato anche [nibble](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/cose-il-nibble/), è formato da 4 bit. Questo significa che una cifra esadecimale può essere usata per rappresentare un **nibble** e due cifre esadecimali possono essere usate per rappresentare **un byte completo**.

## Tabella esadecimale per la conversione in numeri decimali e binari

I numeri esadecimali appartengono a un sistema più complesso del puro sistema binario o decimale e sono spesso utilizzati in relazione agli indirizzi di memorizzazione. Dividendo un numero binario in gruppi di **4 bit**, ogni set di 4 cifre può assumere un valore tra “0000” (0) e “1111” (8+4+2+1 = 15). Risulta un totale di 16 diverse combinazioni di numeri da 0 a 15. Notate che anche “0” è una cifra valida.

<table>
  <tbody>
    <tr>
      <td><strong>Numero decimale</strong></td>
      <td><strong>Numero binario a 4 bit</strong></td>
      <td><strong>Numero esadecimale</strong></td>
    </tr>
    <tr>
      <td>0</td>
      <td>0000</td>
      <td>0</td>
    </tr>
    <tr>
      <td>1</td>
      <td>0001</td>
      <td>1</td>
    </tr>
    <tr>
      <td>2</td>
      <td>0010</td>
      <td>2</td>
    </tr>
    <tr>
      <td>3</td>
      <td>0011</td>
      <td>3</td>
    </tr>
    <tr>
      <td>4</td>
      <td>0100</td>
      <td>4</td>
    </tr>
    <tr>
      <td>5</td>
      <td>0101</td>
      <td>5</td>
    </tr>
    <tr>
      <td>6</td>
      <td>0110</td>
      <td>6</td>
    </tr>
    <tr>
      <td>7</td>
      <td>0111</td>
      <td>7</td>
    </tr>
    <tr>
      <td>8</td>
      <td>1000</td>
      <td>8</td>
    </tr>
    <tr>
      <td>9</td>
      <td>1001</td>
      <td>9</td>
    </tr>
    <tr>
      <td>10</td>
      <td>1010</td>
      <td>A</td>
    </tr>
    <tr>
      <td>11</td>
      <td>1011</td>
      <td>B</td>
    </tr>
    <tr>
      <td>12</td>
      <td>1100</td>
      <td>C</td>
    </tr>
    <tr>
      <td>13</td>
      <td>1101</td>
      <td>D</td>
    </tr>
    <tr>
      <td>14</td>
      <td>1110</td>
      <td>E</td>
    </tr>
    <tr>
      <td>15</td>
      <td>1111</td>
      <td>F</td>
    </tr>
    <tr>
      <td>16</td>
      <td>0001 0000</td>
      <td>10 (1+0)</td>
    </tr>
    <tr>
      <td>17</td>
      <td>0001 0001</td>
      <td>11 (1+1)</td>
    </tr>
    <tr>
      <td>18</td>
      <td>0001 0010</td>
      <td>12 (1+2)</td>
    </tr>
    <tr>
      <td>19</td>
      <td>0001 0011</td>
      <td>13 (1+3)</td>
    </tr>
    <tr>
      <td>20</td>
      <td>0001 0100</td>
      <td>14 (1+4)</td>
    </tr>
  </tbody>
</table>

Secondo la tabella di conversione, la nostra precedente sequenza di numeri binari 1111 0101 1100 11112 appare nel sistema esadecimale nel modo seguente: **F5CF**. Questo numero è più facile da leggere rispetto alla lunga sequenza di bit. Così, usando la notazione esadecimale, si scrive un codice digitale con meno cifre e con una **probabilità di errore molto più bassa**. Allo stesso modo, convertire i numeri esadecimali in binari è semplicemente il processo inverso.

Per identificare chiaramente il nostro numero come un numero esadecimale, potete specificare **F5CF** sotto forma di F5CF16, $F5CF o #F5CF. Quest’ultima notazione, chiamata anche valore hash, è usata nella codifica digitale dei colori, dal momento che i designer e gli sviluppatori usano i colori HEX nel web design. Un colore HEX è espresso come una combinazione di sei cifre di numeri e lettere definita dalla rispettiva miscela di rosso, verde e blu ([RGB](https://www.ionos.it/digitalguide/siti-web/web-design/colori-rgb/ "Colori RGB")). Per esempio, #000000 rappresenta il colore nero e #FFFFFF il colore bianco.

## Contare con i numeri esadecimali

Ora sapete come convertire quattro cifre binarie in un numero esadecimale. Se avete più di quattro cifre binarie, ricominciate da capo o continuate con la serie successiva di 4 bit. Con due numeri esadecimali si può contare fino a FF, che corrisponde al valore decimale 255.

Aggiungere altre cifre esadecimali per convertire i numeri binari in esadecimali è molto facile se avete 4, 8, 12 o 16 cifre binarie. In ogni caso, si può **aggiungere** “0” o “00” a sinistra del bit più significativo se il conteggio dei bit binari non è un multiplo di quattro. Per esempio, 1100101101100112 è un numero binario di 14 bit che è troppo grande per tre cifre esadecimali, ma troppo piccolo per un numero esadecimale di quattro cifre.

La soluzione è quella di aggiungere altri zeri al bit più a sinistra fino ad avere una serie completa di **numeri binari a 4 bit**. Nel nostro esempio, la serie indicata sopra diventerebbe: **00**1100101101100112.

## In sintesi

Il grande vantaggio del sistema esadecimale è la compattezza dei suoi numeri, poiché la base 16 consente di utilizzare meno cifre per rappresentare un dato numero rispetto al formato binario o decimale. Inoltre, convertire i numeri esadecimali in numeri binari e viceversa è relativamente **veloce e semplice.**

Consiglio Offrite servizi, gestite un negozio online o state lavorando a una presenza online per il vostro negozio? Con un vostro [indirizzo e-mail comprensivo di dominio con IONOS](https://www.ionos.it/soluzioni-ufficio/email-professionale "E-mail professionale: e-mail aziendale con dominio incluso") darete un’immagine professionale e avrete la massima sicurezza per i vostri dati sensibili.


This is a markdown version of: [https://www.ionos.it/digitalguide/server/know-how/sistema-esadecimale/](https://www.ionos.it/digitalguide/server/know-how/sistema-esadecimale/) for AI/LLM consumption.