Scegli la base del tuo numero e scrivi il numero in quella base. La pagina lo converte insieme in binario, ottale, decimale ed esadecimale e mostra i passaggi.
Indice
-
Cosa puoi fare in questa pagina
-
A cosa serve questo calcolo?
-
Come si usa
-
Formula
-
Simboli e termini
-
Cosa conviene sapere prima
-
Come calcolarlo con Excel
-
Come calcolarlo con Fogli Google
-
Come calcolarlo con Python
-
La formula in LaTeX e in altre notazioni matematiche (da copiare)
-
Come chiedere a ChatGPT di fare il calcolo
-
I punti di forza di DataChef
-
Funzioni correlate
-
Tutte le calcolatrici di NumberChef
Cosa puoi fare in questa pagina
- Scegli la base del tuo numero (binario, ottale, decimale o esadecimale), scrivilo e vedi subito lo stesso numero in tutte e quattro le basi
- Risponde in un colpo solo a domande come «quanto fa 2AA esadecimale in decimale?» oppure «come si scrive 170 in binario?»
- Mostra lo sviluppo posizionale (ogni cifra × il suo valore posizionale, tutto sommato) e le divisioni ripetute per la base con i resti, così impari come funziona la conversione
- Utile per studiare la conversione tra basi e controllare le soluzioni nei corsi di informatica e negli esami di certificazione IT
- In questa pagina trovi anche una spiegazione semplice delle formule e le formule da copiare per Excel, Fogli Google e Python
A cosa serve questo calcolo?
La conversione tra basi è un argomento classico dei corsi di informatica delle scuole superiori e dell’università e degli esami di certificazione IT, come ICDL (ex ECDL), CompTIA A+ e Network+ o Cisco CCNA.
Domande come «quanto fa 1010 binario in decimale?» oppure «scrivi 45 decimale in binario» usano esattamente i due metodi di questa pagina: lo sviluppo posizionale e le divisioni ripetute con i resti. Esercitarti con i passaggi sotto gli occhi ti aiuta a risolverle senza bloccarti all’esame.
I colori delle pagine web si indicano con codici colore esadecimali come «#FF5733». Il codice elenca l’intensità di rosso, verde e blu con due cifre esadecimali ciascuno (da 00 a FF = da 0 a 255 in decimale), quindi #FF5733 è rosso FF (255), verde 57 (87) e blu 33 (51).
Quando sai passare dall’esadecimale al decimale, puoi immaginare cambiamenti di colore come «un po’ meno rosso» direttamente dai numeri del codice.
Il 755 di «chmod 755», un comando che si usa spesso sui server, è un numero ottale. Ogni cifra ottale corrisponde a 3 cifre binarie, e 755 in binario è 111 101 101: interruttori acceso/spento per «lettura, scrittura, esecuzione», 3 bit ciascuno per il proprietario, il gruppo e tutti gli altri.
Una volta capite le basi numeriche, questo numero non è più un codice segreto ma una tabella di interruttori a bit.
Un indirizzo IP, come 192.168.1.1, è in realtà un numero binario diviso in quattro parti da 8 bit: 192 è 11000000 e 255 è 11111111.
Concetti di base delle reti come «la maschera di sottorete 255.255.255.0 indica che i primi 24 bit sono la parte di rete» si capiscono solo quando sai convertire tra decimale e binario. Questa conoscenza è la base del lavoro di tecnico di rete e di certificazioni come la CCNA.
«Un byte = 8 bit, che possono contenere da 0 a 255 (da 00 a FF in esadecimale)» e «gli indirizzi di memoria e i codici di errore si mostrano in esadecimale, come 0x7FFF»: binario ed esadecimale sono il linguaggio comune per capire che cosa succede dentro un computer.
Argomenti su cui spesso inciampano gli studenti di programmazione, come le operazioni bit a bit, i codici dei caratteri e i valori dei colori, diventano molto più chiari quando sai convertire liberamente tra le basi.
Formula
Simboli e termini
Simboli
| \(b\) | bi | La base, il numero che dice quale sistema di numerazione si usa. In questa pagina è 2, 8, 10 o 16. (Dalla iniziale di «base».) |
| \(d_i\) | di con i | La cifra in posizione \(i\), contando da destra (la cifra più a destra è la posizione 0). In esadecimale può essere anche da A a F (da 10 a 15 in decimale). (Dalla iniziale dell’inglese «digit».) |
| \(i\) | i | La posizione della cifra. La cifra più a destra è \(i=0\) e aumenta di 1 per ogni cifra verso sinistra. |
| \(N\) | enne | Il valore in decimale. I passaggi della conversione di questa pagina passano sempre da questo valore decimale. |
| \(\sum\) | sigma | Il simbolo di «somma tutto» (sommatoria). \(\sum_{i=0}^{k}\) dice «fai variare \(i\) da 0 a \(k\) e somma tutti i termini». |
| \(q\) | cu | Il quoziente di una divisione. Per convertire il decimale in base \(n\) si continua a dividere finché il quoziente è 0. (Dalla iniziale di «quoziente».) |
| \(r\) | erre | Il resto di una divisione. I resti diventano le cifre del numero in base \(n\), a partire dalla cifra più a destra. (Dalla iniziale di «resto».) |
| \(2\mathrm{AA}_{16}\) | due A A, base sedici | Il piccolo 16 scritto in basso a destra di un numero dice «questo numero è scritto in base 16 (esadecimale)». Allo stesso modo \(1010_{2}\) è un numero binario. Questa notazione si usa quando la base potrebbe non essere chiara. I programmatori scrivono l’esadecimale anche con il prefisso 0x, come in 0x2AA. |
Termini
| base | La regola che dice quanti elementi formano un gruppo (un riporto alla cifra successiva) quando si conta. I numeri di tutti i giorni si raggruppano a 10 (decimale), e i computer lavorano internamente a gruppi di 2 (binario). La dimensione del gruppo (2, 8, 10, 16 e così via) si chiama base. |
| numerazione posizionale | Un modo di scrivere i numeri in cui ogni posizione di una cifra ha il suo valore posizionale. Funziona proprio come il decimale 682, che sta per \(6 \times 100 + 8 \times 10 + 2 \times 1\); in binario, ottale ed esadecimale i valori posizionali sono potenze di 2, 8 e 16. |
| binario | Un modo di scrivere i numeri con sole due cifre, 0 e 1 (base 2). I computer trattano le informazioni come stati elettrici acceso e spento, quindi tutti i loro calcoli interni sono fatti in binario. |
| ottale | Un modo di scrivere i numeri con le otto cifre da 0 a 7 (base 8). Una cifra ottale corrisponde a 3 cifre binarie. Si usa per i permessi dei file in Linux e Unix, come «755». |
| esadecimale | Un modo di scrivere i numeri con sedici simboli, da 0 a 9 e da A a F (A vale 10, B vale 11, …, F vale 15), detto anche «hex» (base 16). Una cifra esadecimale corrisponde a 4 cifre binarie, quindi i programmatori lo usano molto per scrivere in forma breve i lunghi numeri binari. |
| bit | Una cifra binaria. È la più piccola unità di informazione che un computer tratta e il suo valore è 0 oppure 1. |
| nibble | Un gruppo di 4 bit (una cifra esadecimale). Due nibble fanno un byte. |
| byte | Un gruppo di 8 bit (due cifre esadecimali). Un byte può contenere 256 valori diversi, da 00 a FF in esadecimale, ed è per questo che byte ed esadecimale vanno così bene insieme. |
Cosa conviene sapere prima
Ecco cosa ti aiuta a usare il calcolo di questa pagina capendo davvero ciò che fai, e non solo premendo il pulsante.
| Valore posizionale nel sistema decimale (scuola primaria, 6-11 anni) |
|
| Divisione con resto (classi 3ª e 4ª della primaria, 8-10 anni) |
|
| Potenze ed esponenti (scuola secondaria di primo grado, 11-14 anni) |
|
| Basi numeriche (scuola secondaria di secondo grado, informatica e matematica) |
|
Come calcolarlo con Excel
| Valore decimale | 170 |
| Binario | =DECIMALE.BINARIO(B1) |
| Ottale | =DECIMALE.OCT(B1) |
| Esadecimale | =DECIMALE.HEX(B1) |
| Binario | 10101010 |
| Decimale | =BINARIO.DECIMALE(B1) |
| Esadecimale | 2AA |
| Decimale | =HEX.DECIMALE(B1) |
| Valore decimale | 1500 |
| Esadecimale (BASE) | =BASE(B1;16) |
| Da esadecimale di nuovo a decimale (DECIMALE) | =DECIMALE(B2;16) |
Attenzione: queste funzioni hanno dei limiti di dimensione. DECIMALE.BINARIO funziona solo da −512 a 511 (risultati fino a 10 cifre binarie), DECIMALE.OCT da −536.870.912 a 536.870.911 e DECIMALE.HEX da −549.755.813.888 a 549.755.813.887. Anche le funzioni inverse BINARIO.DECIMALE, OCT.DECIMALE e HEX.DECIMALE accettano al massimo 10 cifre; con più di 10 cifre danno errore, e con esattamente 10 cifre e un primo bit uguale a 1 (una prima cifra da 8 a F in esadecimale) il valore viene letto come numero negativo (complemento a due).
Per i numeri più grandi usa la funzione BASE (decimale → base n) e la funzione DECIMALE (base n → decimale) della quarta tabella (Excel 2013 o successivo; gestiscono numeri fino a circa 9 biliardi, cioè 2 alla 53 meno 1).
Come calcolarlo con Fogli Google
| Valore decimale | 170 |
| Binario | =DECIMALE.BINARIO(B1) |
| Ottale | =DECIMALE.OCT(B1) |
| Esadecimale | =DECIMALE.HEX(B1) |
| Binario | 10101010 |
| Decimale | =BINARIO.DECIMALE(B1) |
| Esadecimale | 2AA |
| Decimale | =HEX.DECIMALE(B1) |
| Valore decimale | 1500 |
| Esadecimale (BASE) | =BASE(B1;16) |
| Da esadecimale di nuovo a decimale (DECIMALE) | =DECIMALE(B2;16) |
I limiti di dimensione, come DECIMALE.BINARIO che funziona solo da −512 a 511, sono gli stessi di Excel. Per i numeri più grandi usa le funzioni BASE e DECIMALE.
Come calcolarlo con Python
number = "2AA" # il numero da convertire (scritto nella sua base)
from_base = 16 # la base di quel numero (2, 8, 10 o 16)
value = int(number, from_base) # prima lo trasforma in un intero decimale
binary = format(value, "b") # binario
octal = format(value, "o") # ottale
hexadecimal = format(value, "X") # esadecimale (maiuscolo)
print(f"Decimale: {value}")
print(f"Binario: {binary}")
print(f"Ottale: {octal}")
print(f"Esadecimale: {hexadecimal}")
La formula in LaTeX e in altre notazioni matematiche (da copiare)
N = Σ dᵢ × bⁱ
N = \sum_{i=0}^{k} d_i \times b^{i}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>N</mi>
<mo>=</mo>
<munderover>
<mo>∑</mo>
<mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow>
<mi>k</mi>
</munderover>
<msub><mi>d</mi><mi>i</mi></msub>
<mo>×</mo>
<msup><mi>b</mi><mi>i</mi></msup>
</mrow>
</math>
N = sum_(i=0)^k d_i * b^i
FromDigits[{2, 10, 10}, 16]
N := add(d[i]*b^i, i = 0 .. k);
N = polyval(d, b);
N = ∑_(i=0)^k d_i × b^i
N = b × q + r (0 ≤ r < b)
N = b \times q + r \quad (0 \le r < b)
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>N</mi>
<mo>=</mo>
<mi>b</mi>
<mo>×</mo>
<mi>q</mi>
<mo>+</mo>
<mi>r</mi>
</mrow>
</math>
N = b q + r, \ 0 <= r < b
QuotientRemainder[682, 16]
q := iquo(n, b); r := irem(n, b);
q = floor(n/b); r = mod(n, b);
N = b × q + r (0 ≤ r < b)
h = b₃×2³ + b₂×2² + b₁×2¹ + b₀×2⁰
h = b_3 \times 2^3 + b_2 \times 2^2 + b_1 \times 2^1 + b_0 \times 2^0
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>h</mi>
<mo>=</mo>
<msub><mi>b</mi><mn>3</mn></msub><mo>×</mo><msup><mn>2</mn><mn>3</mn></msup>
<mo>+</mo>
<msub><mi>b</mi><mn>2</mn></msub><mo>×</mo><msup><mn>2</mn><mn>2</mn></msup>
<mo>+</mo>
<msub><mi>b</mi><mn>1</mn></msub><mo>×</mo><msup><mn>2</mn><mn>1</mn></msup>
<mo>+</mo>
<msub><mi>b</mi><mn>0</mn></msub><mo>×</mo><msup><mn>2</mn><mn>0</mn></msup>
</mrow>
</math>
h = b_3*2^3 + b_2*2^2 + b_1*2 + b_0
FromDigits[{b3, b2, b1, b0}, 2]
h := 8*b3 + 4*b2 + 2*b1 + b0;
h = 8*b3 + 4*b2 + 2*b1 + b0;
h = b_3 × 2^3 + b_2 × 2^2 + b_1 × 2^1 + b_0 × 2^0
Come chiedere a ChatGPT di fare il calcolo
Sei un assistente per la conversione tra basi numeriche. Esegui il calcolo seguente eseguendo davvero del codice Python e basa la risposta solo sui numeri del risultato dell’esecuzione (non rispondere a mente né a intuito). Converti 2AA esadecimale nelle basi seguenti: 1. Decimale 2. Binario 3. Ottale Per la conversione da esadecimale a decimale mostra anche lo sviluppo di ogni cifra × il suo valore posizionale (una potenza di 16). Mostra il codice che hai usato e i numeri del risultato dell’esecuzione.
Come si usa
-
1Inserisci i numeriScrivi nei campi i numeri con cui vuoi fare il calcolo
-
2CalcolaFai clic sul pulsante «Calcola»
-
3Guarda il risultatoIl risultato compare subito. Nella stessa pagina trovi anche lo svolgimento del calcolo e la spiegazione della formula
I punti di forza di DataChef
Nessuna competenza richiesta, semplice e intuitivo
Nessun dato personale richiesto
Il file viene eliminato automaticamente dopo il download
Nessun obbligo di attribuzione
Nessuna autorizzazione preventiva necessaria