Conversione fra basi numeriche (binario, ottale, decimale, esadecimale)
Converte un numero fra base due, base otto, base dieci e base sedici. Anche gli interi molto grandi sono convertiti senza errori grazie al tipo BigInt.
Che cos'è un convertitore di basi numeriche? Il rapporto fra binario, ottale, decimale ed esadecimale
Un convertitore di basi numeriche permette di inserire un valore in base due, otto, dieci o sedici e di vedere subito il valore corrispondente nelle altre tre basi. Nella programmazione, nelle reti e nell'elettronica capita spesso di dover trattare lo stesso valore in basi diverse, e la conversione a mano diventa più soggetta a errori man mano che crescono le cifre. Questo strumento verifica quanto inserito e mostra immediatamente tutte le conversioni, così non serve una calcolatrice a parte né una tabella di conversione stampata.
Il principio della conversione fra basi è semplice: ogni base rappresenta la stessa quantità come somma di "valore della cifra per il suo peso posizionale". Il numero 255, scritto in base dieci, diventa 11111111 in binario, 377 in ottale e FF in esadecimale: cambia la notazione, ma la quantità indicata resta sempre la stessa. Lo strumento esegue i calcoli con BigInt, un tipo intero a precisione illimitata, invece del comune tipo Number di JavaScript, così anche gli interi molto grandi, oltre due elevato alla cinquantatreesima, vengono convertiti con piena esattezza e senza errori di arrotondamento.
Come si usa il convertitore di basi numeriche
- Scegliete la base del valore da inserire Indicate se il numero che state per digitare è scritto in binario, ottale, decimale o esadecimale.
- Inserite il valore Digitate soltanto i caratteri ammessi per la base scelta. Per l'esadecimale sono ammesse anche le lettere da A a F.
- Controllate che non vi siano caratteri non validi Se il valore contiene un carattere non ammesso per la base scelta, compare un messaggio di errore che segnala di correggere l'inserimento.
- Consultate i risultati della conversione Senza bisogno di premere alcun pulsante, le rappresentazioni in binario, ottale, decimale ed esadecimale compaiono tutte automaticamente.
- Convertite altri valori Cambiando il valore o la base scelta, i risultati vengono ricalcolati all'istante, così potete verificare più numeri uno dopo l'altro.
Consigli per sfruttarlo al meglio
- Per l'esadecimale non anteponete prefissi come `0x`: inserite soltanto le cifre, per esempio `FF`. Le maiuscole e le minuscole sono entrambe riconosciute.
- Poiché il calcolo si serve del tipo BigInt, lo strumento converte con esattezza anche gli interi tanto grandi da produrre errori con il tipo Number di JavaScript, cioè oltre due elevato alla cinquantatreesima.
- Torna utile con i codici di colore esadecimali usati nella programmazione, come `#FF0000`, e ogni volta che serve la notazione binaria per verificare un'operazione sui bit.
- L'ottale è la notazione consueta per i permessi sui file dei sistemi Unix, per esempio `755`. Confrontandolo con il decimale e il binario si comprende meglio il significato dei permessi.
Situazioni in cui usare il convertitore di basi numeriche
Verificare esercizi ed esami di programmazione
Dopo aver svolto un esercizio di conversione fra basi assegnato in un corso di informatica o in un esame di certificazione, controllate subito se il calcolo fatto a mano era corretto.
Esaminare maschere di bit e codici di colore
Convertite in binario un codice di colore esadecimale, come `#FF0000`, oppure un valore usato in un'operazione sui bit, per vedere con esattezza quali bit risultano attivi.
Preparare calcoli su indirizzi di rete e sottoreti
Convertite in binario un indirizzo IP o una maschera di sottorete come primo passo per individuare il confine fra la parte di rete e quella di host.
Comprendere i permessi sui file di Unix
Convertite in binario un valore di permessi in ottale, come nel comando `chmod 755`, per vedere in modo visivo come si combinano i permessi di lettura, scrittura ed esecuzione per ciascuna categoria di utente.
Fare il debug di sistemi che trattano interi molto grandi
Quando un registro o un dump di memoria mostra in esadecimale un valore grande, come un intero a 64 bit, convertitelo in decimale senza errori di arrotondamento per farvi un'idea intuitiva della sua grandezza.
Glossario delle basi numeriche
- Binario (base due)
- Un sistema numerico che rappresenta i valori usando soltanto le cifre 0 e 1. All'interno di un elaboratore questi due stati corrispondono di norma a una tensione alta o bassa, oppure a un interruttore acceso o spento.
- Ottale (base otto)
- Un sistema numerico che usa le otto cifre da 0 a 7. Poiché tre cifre binarie corrispondono esattamente a una cifra ottale, era diffuso sui primi elaboratori e sopravvive ancora nei permessi sui file dei sistemi Unix.
- Decimale (base dieci)
- Il sistema numerico che usiamo nella vita quotidiana, composto dalle dieci cifre da 0 a 9. Lo strumento accetta il decimale sia come base di partenza sia come uno degli esiti della conversione.
- Esadecimale (base sedici)
- Un sistema numerico che usa sedici simboli, le cifre da 0 a 9 e le lettere da A a F. Poiché quattro cifre binarie corrispondono esattamente a una cifra esadecimale, si usa spesso per rappresentare in forma compatta e leggibile indirizzi di memoria, codici di colore e altri valori interni degli elaboratori.
- Base (radice)
- Il numero di cifre distinte che un sistema numerico impiega per una singola posizione. Il binario ha base due, l'ottale base otto, il decimale base dieci e l'esadecimale base sedici.
- BigInt
- Un tipo di dato di JavaScript che rappresenta interi senza limiti sul numero di cifre. I valori del tipo Number comune perdono precisione oltre due elevato alla cinquantatreesima, mentre BigInt converte numeri di qualunque grandezza con piena esattezza.
- Peso posizionale
- Il contributo che una cifra apporta al valore complessivo in base alla propria posizione. In base dieci la posizione delle centinaia ha peso cento; la conversione fra basi consiste nel moltiplicare ogni cifra per il proprio peso posizionale e sommare i risultati.
- Maschera di bit
- Uno schema binario usato per isolare o modificare posizioni di bit specifiche all'interno di un valore. Convertire in binario un valore esadecimale o un codice di colore rende molto più semplice individuare quali singoli bit risultano attivi.
Domande frequenti
A proposito — perché gli elaboratori funzionano in binario
Gli elaboratori si fondano sul binario, cioè su 0 e 1, perché i circuiti elettronici distinguono con stabilità due soli stati: tensione alta o bassa, interruttore acceso o spento. Costruire circuiti capaci di riconoscere con precisione dieci livelli di tensione, come richiederebbe la base dieci, sarebbe assai più difficile che trattarne due: la maggiore resistenza al rumore e la semplicità dei componenti sono le ragioni pratiche per cui oggi quasi tutte le macchine adottano il binario.
L'esadecimale è prezioso nella programmazione per una proprietà matematica: quattro cifre binarie, da 0000 a 1111, corrispondono esattamente a una cifra esadecimale, da 0 a F. Un byte, cioè otto bit, si scrive così con due sole cifre esadecimali, da 00 a FF, comprimendo in una lunghezza leggibile un'informazione che in binario ne richiederebbe otto.
L'ottale si diffuse invece per ragioni storiche: i primi elaboratori, come il PDP-8 degli anni Sessanta, adottavano ampiezze di parola multiple di tre, come dodici o trentasei bit, e in quel contesto la corrispondenza con il binario risultava più agevole in base otto. Quando le macchine passarono a lavorare prevalentemente su unità di otto, sedici e trentadue bit, cioè multipli di quattro, l'esadecimale divenne più comodo e oggi prevale. Restano però ambiti in cui l'ottale è tuttora in uso, come i permessi sui file di Unix.