Convertitore di basi numeriche
Converti un numero intero tra binario, ottale, decimale, esadecimale e qualsiasi base fino a 36, e guarda le sue sequenze di bit in complemento a due.
Funziona interamente nel tuo browser
Complemento a due
| Bit | Sequenza di bit (esadecimale, binario) | Letto come |
|---|
Numeri interi fino a 4.096 cifre, positivi o negativi. Le frazioni non vengono convertite.
Come convertire tra basi numeriche
- Scegli la base in cui è scritto il tuo numero, oppure seleziona Altra e inserisci una base da 2 a 36.
- Scrivi il numero. Il segno meno è consentito e un prefisso
0x,0bo0ocorrispondente viene accettato; spazi e trattini bassi vengono ignorati. - Leggilo in tutte le basi qui sotto, copia quella che ti serve e controlla la tabella del complemento a due per gli interi a larghezza fissa.
Come funzionano le basi numeriche
Una base, o radice, indica quante cifre diverse usa un sistema numerico. In decimale ogni posizione vale dieci volte quella alla sua destra; in binario ne vale due volte, quindi 1101 significa 8 + 4 + 0 + 1 = 13. L'esadecimale usa sedici cifre, da 0 a 9 poi da A a F, e ogni cifra esadecimale corrisponde esattamente a quattro cifre binarie, per questo i programmatori lo usano come modo compatto di scrivere i byte: 255 è FF, ovvero 11111111.
L'ottale raggruppa le cifre binarie a tre a tre e compare ancora nei permessi dei file Unix (755 significa rwxr-xr-x). La base 36 usa tutte le cifre e le lettere e si trova negli ID brevi e negli accorciatori di URL.
I computer memorizzano gli interi con segno in un numero fisso di bit usando il complemento a due, in cui il bit più alto ha peso negativo. Gli stessi bit possono quindi significare due numeri diversi: 11001000 è 200 se letto senza segno e −56 se letto con segno. La tabella sotto i risultati mostra entrambe le letture per le dimensioni di intero più comuni.
Consigli
- Vuoi trasformare del testo in byte binari anziché un numero? Usa Da testo a binario.
- I codici colore come
#1636A3sono tre byte esadecimali: leggili nel Convertitore di colori e contrasto. - I timestamp Unix sono semplici secondi in decimale; convertine uno con il Convertitore di timestamp Unix.
Domande frequenti
Quanto grande può essere il numero da convertire?
Fino a 4.096 cifre nella base di partenza. La conversione usa un'aritmetica esatta sugli interi (BigInt), quindi valori molto grandi come 2⁶⁴ + 1 = 18446744073709551617 vengono convertiti senza arrotondamenti, a differenza delle calcolatrici che passano alla virgola mobile oltre circa 9 milioni di miliardi.
Può convertire frazioni come 0,1?
No. Vengono convertiti solo i numeri interi, e un separatore decimale viene segnalato come errore invece di essere scartato in silenzio. Molte frazioni non hanno una forma esatta in un'altra base: 0,1 in decimale è una sequenza periodica in binario, ed è per questo che in quasi tutti i linguaggi di programmazione 0,1 + 0,2 non è esattamente 0,3.
Cosa mostra il complemento a due?
È il modo in cui i computer memorizzano gli interi con segno in un numero fisso di bit. Un numero negativo −n è memorizzato come 2 elevato al numero di bit, meno n, quindi −1 su 8 bit è 11111111 (FF). La tabella mostra la sequenza di bit a 8, 16, 32 e 64 bit, e cosa significa quella sequenza letta come intero con segno e senza segno. Se il numero non entra in una certa larghezza, la riga lo dice invece di troncarlo.
Quali cifre si usano oltre la base 10?
Le lettere, come fanno la maggior parte dei linguaggi di programmazione: A vale 10, B vale 11 e così via fino a Z che vale 35, per questo la base 36 è la massima. L'input è accettato in maiuscolo o minuscolo; l'opzione maiuscole controlla l'output.
Perché una cifra viene segnalata come non valida?
Ogni base ammette solo cifre inferiori al suo valore: il binario ammette 0 e 1, l'ottale da 0 a 7, l'esadecimale da 0 a 9 e da A a F. Il messaggio di errore indica il carattere e la sua posizione, così puoi trovare un errore di battitura o passare alla base in cui il numero è davvero scritto.