🌐 IT

🔢 Convertitore di basi numeriche

Converti tra binario, ottale, decimale ed esadecimale.

GUIDA

Scopri di piu

01

1. Comprendere i sistemi numerici

I sistemi numerici sono metodi per rappresentare i numeri. Il sistema decimale (base 10) che usiamo ogni giorno impiega 10 cifre (0-9). I computer usano il binario (base 2), rappresentando tutti i dati con solo 0 e 1. L'ottale (base 8) usa 0-7, mentre l'esadecimale (base 16) usa 0-9 e A-F. Ogni sistema ha una radix (base) diversa e i valori posizionali si calcolano come potenze della base. Ad esempio, il decimale 13 equivale al binario 1101 (1×8 + 1×4 + 0×2 + 1×1), all'ottale 15 e all'esadecimale D. Comprendere i diversi sistemi numerici nella programmazione consente di gestire in modo efficace la memoria, le operazioni bitwise e i codici colore.

02

2. Il binario nell'informatica e perché è importante

Il binario è il linguaggio fondamentale dei computer. I circuiti elettronici possono distinguere solo due stati: acceso (1) e spento (0), rendendo il binario il sistema più efficiente. Tutti i dati (numeri, testo, immagini, video) sono in ultima analisi memorizzati come combinazioni di 0 e 1. Un bit è una cifra binaria, e un byte è composto da 8 bit. Le operazioni bitwise (&, |, ^, ~) si basano sul binario e sono essenziali per la gestione dei flag, la crittografia e la compressione. Il complemento a due è il metodo per rappresentare i numeri negativi. Le CPU eseguono tutte le operazioni aritmetiche usando solo l'addizione binaria. Comprendere il binario offre una visione fondamentale di come funzionano i computer.

03

3. L'esadecimale nella programmazione e negli indirizzi di memoria

L'esadecimale è fondamentale nella programmazione. È più compatto del binario ma facilmente convertibile, quindi è ampiamente usato. Una cifra esadecimale rappresenta esattamente 4 bit (4 cifre binarie). Gli indirizzi di memoria vengono mostrati in esadecimale (0x7FFF5C3A). Anche i codici colore usano l'esadecimale (#FF5733 rappresenta rosso 255, verde 87, blu 51). I caratteri Unicode sono espressi in esadecimale (U+AC00). L'esadecimale è comodo per controllare i valori dei byte (0xFF = 255). I linguaggi di programmazione usano il prefisso 0x per la notazione esadecimale. L'esadecimale è uno strumento essenziale nel debugging e nella programmazione a basso livello.

04

4. Il sistema ottale e i suoi usi

Sebbene oggi l'ottale sia meno usato, resta importante in alcuni ambiti. I permessi dei file in Unix/Linux sono espressi in ottale (in chmod 755, 7=rwx, 5=r-x). Una cifra ottale rappresenta esattamente 3 bit. I sistemi informatici del passato (PDP-8) preferivano l'ottale. Alcuni sistemi legacy e dispositivi embedded lo usano ancora. Nel linguaggio C si usa il prefisso 0 per la notazione ottale (077 = 63). L'ottale offre un modo conciso per rappresentare numeri binari in gruppi di 3 bit. Comprendere l'ottale è essenziale per attività specifiche di system programming come i permessi dei file e le impostazioni delle maschere.

05

5. Metodi di conversione tra sistemi numerici

Esistono diversi metodi per la conversione di base. La conversione da altre basi al decimale usa il metodo di moltiplicazione per il valore posizionale. Esempio: 1011₂ = 1×8 + 0×4 + 1×2 + 1×1 = 11₁₀. La conversione dal decimale ad altre basi usa il metodo dell'estrazione dei resti: si divide ripetutamente per la base di destinazione e si leggono i resti in ordine inverso. Convertire tra binario ed esadecimale è molto facile: si raggruppano le cifre binarie in gruppi di 4 e si converte ciascun gruppo in esadecimale (1111 0101₂ = F5₁₆). Binario e ottale funzionano in modo simile con gruppi da 3 bit. I linguaggi di programmazione offrono funzioni integrate (parseInt di JavaScript, toString). Usare strumenti di conversione delle basi riduce gli errori e velocizza le conversioni.

06

6. Applicazioni pratiche nella programmazione

La conversione di base ha molte applicazioni pratiche. I bitmask vengono usati per la gestione dei permessi (READ=0x01, WRITE=0x02, EXECUTE=0x04). La programmazione di rete calcola indirizzi IP e subnet mask in binario. L'elaborazione dei colori converte i valori RGB in esadecimale. Gli algoritmi crittografici usano l'esadecimale per operazioni a livello di byte. L'assembly e il disassembly mostrano il codice macchina in esadecimale. L'analisi dei memory dump viene eseguita in esadecimale. I valori hash (MD5, SHA) sono espressi in esadecimale. I sistemi embedded controllano i registri hardware usando l'esadecimale. Comprendere queste applicazioni ti rende uno sviluppatore più efficiente.

Domande frequenti

Come si convertono i numeri negativi?
Questo strumento è progettato per interi positivi per impostazione predefinita. Se ti serve la rappresentazione dei numeri negativi, devi applicare separatamente le regole del complemento a due del tuo linguaggio di programmazione.
Devo aggiungere il prefisso 0x quando inserisco un valore esadecimale?
No, inserisci solo la combinazione di A-F e 0-9 senza prefisso. Ogni campo di input accetta solo i caratteri validi per quella base.
Posso convertire valori con decimali?
Questo strumento è ottimizzato per la conversione di interi. Le parti frazionarie richiedono una logica di conversione separata, poiché il calcolo del valore posizionale varia tra le basi.
Perché tutti e quattro i campi si aggiornano contemporaneamente?
Quando inserisci un valore in una base, gli altri tre (binario, ottale, esadecimale) vengono calcolati automaticamente e mostrati, così puoi confrontare a colpo d'occhio i valori equivalenti tra le basi.
C'è un limite alla grandezza del numero che posso inserire?
Funziona entro il normale intervallo degli interi del browser, quindi numeri estremamente grandi (oltre 2^53, circa 9 quadrillion) possono perdere precisione.