Da esadecimale a decimale
Converti qualsiasi valore esadecimale in base 10 cifra per cifra.
Un grafico ti invia la sigla #FF5733 e vuoi sapere a quali valori RGB corrisponde. La notazione esadecimale funziona proprio come una scorciatoia tecnica: comodissima per manipolare byte e indirizzi di memoria, ma poco intuitiva finché non la trasformi nei normali numeri decimali.
Come funziona la base 16 rispetto alla base 10
Nel sistema decimale il numero 47 indica quattro decine più sette unità. La base esadecimale segue lo stesso principio posizionale, con la sola differenza che ogni colonna vale una potenza di 16 anziché una potenza di 10. Poiché ogni singola cifra deve coprire valori da 0 a 15, si impiegano le lettere da A fino a F per rappresentare le quantità da 10 a 15.
Prendi il valore 2F: il 2 occupa la posizione dei sedicesimi e F quella delle unità. Il conteggio risulta quindi (2 × 16) + 15 = 47. Nelle stringhe più estese si accumulano semplicemente ulteriori potenze di 16 spostandosi verso sinistra, nello stesso identico modo in cui centinaia e migliaia crescono in decimale.
Corrispondenza tra cifre esadecimali e valori decimali
| Cifra esadecimale | Valore decimale |
|---|---|
| 0 – 9 | Identico al decimale, da 0 a 9 |
| A | 10 |
| B | 11 |
| C | 12 |
| D | 13 |
| E | 14 |
| F | 15 |
I codici colore web come terne di numeri decimali
Una notazione grafica come #FF5733 racchiude tre byte in sole sei cifre: due cifre per il canale rosso, due per il verde e due per il blu. Il blocco FF corrisponde a 255, 57 diventa (5 × 16) + 7 = 87 e 33 equivale a (3 × 16) + 3 = 51, producendo la terna RGB(255, 87, 51), una tinta arancio-rossa.
Allo stesso modo, la combinazione #FFFFFF genera la terna RGB(255, 255, 255) perché ogni canale raggiunge il valore massimo, restituendo il bianco. All’estremo opposto, #000000 genera il nero assoluto poiché ogni singolo canale resta azzerato a 0.
I passaggi per calcolare manualmente la conversione esadecimale
- Trascrivi le cifre esadecimali annotando l’indice di posizione da destra a sinistra, cominciando da 0.
- Sostituisci ciascuna lettera tra A e F con il rispettivo valore numerico compreso tra 10 e 15.
- Moltiplica ogni valore per 16 elevato alla potenza corrispondente alla sua posizione.
- Somma parziali e risultati per determinare la cifra decimale definitiva.
- Esegui una verifica rapida: una coppia esadecimale compresa tra 00 e FF deve sempre ricadere nell’intervallo tra 0 e 255.
Domande frequenti sulla conversione da esadecimale a decimale
Per quale ragione l’esadecimale impiega le lettere dell’alfabeto?
Un sistema a base 16 richiede sedici simboli distinti per ogni colonna numerica, mentre la base 10 ne possiede soltanto dieci. I caratteri da A a F sono stati introdotti per rappresentare le cifre da 10 a 15 mantenendo ogni valore all’interno di un singolo carattere.
Qual è la procedura più efficace per convertire stringhe esadecimali lunghe?
Il metodo standard consiste nel partire dalla cifra all’estrema destra moltiplicando ciascun valore per la potenza di 16 della sua posizione e sommando i prodotti. Per stringhe superiori a due o tre cifre, affidarsi al convertitore permette di calcolare il risultato senza commettere errori di calcolo a mente.
Perché sul web i colori si indicano in esadecimale anziché in decimale?
Due cifre esadecimali mappano alla perfezione un singolo byte, che è l’unità naturale in cui risiede ciascun canale colore. Esprimere gli stessi valori in decimale richiederebbe fino a tre cifre per canale, complicando l’allineamento con il formato effettivo memorizzato nel dispositivo.
La scrittura 0xFF indica lo stesso valore del semplice FF?
Sì. Il prefisso 0x è una convenzione sintattica derivata dai linguaggi di programmazione per indicare in modo esplicito che le cifre successive sono in base 16. La quantità numerica effettiva non cambia con o senza il prefisso.
Un numero esadecimale può esprimere valori negativi?
Il formato esadecimale puro non possiede un segno incorporato. Nelle architetture digitali i numeri con segno negativo vengono gestiti tramite il complemento a due su un quantitativo prestabilito di bit, una logica di codifica sovrapposta alle cifre in base 16.