Convertitore di Basi Numeriche: Binario, Esadecimale, Decimale e Ottale
Strumento gratuito di conversione di basi numeriche. Converti tra binario, decimale, esadecimale, ottale e qualsiasi base (2-36). Risultati istantanei e precisi per programmatori, studenti e sviluppatori.
Convertitore di Base Numerica
La conversione avviene automaticamente durante la digitazione
Documentazione
Convertitore di basi numeriche
Un convertitore di basi numeriche cambia il modo in cui un numero è scritto, da un sistema di numerazione posizionale a un altro, senza modificarne il valore. Può trasformare il binario in decimale, il decimale in esadecimale, oppure convertire tra due basi qualsiasi da 2 a 36.
Che cos'è una base numerica?
Una base numerica, detta anche radice, è il numero di cifre diverse che un sistema usa prima di cominciare a ripeterle in una nuova posizione. Il sistema decimale, usato per il conteggio quotidiano, ha base 10. Usa dieci cifre, da 0 a 9. Il sistema binario ha base 2 e usa solo 0 e 1. Quando una base supera 10, le lettere sostituiscono le cifre mancanti: A rappresenta 10, B rappresenta 11, e così via fino a Z, che rappresenta 35. Così un sistema può arrivare alla base 36, la più alta supportata dalla maggior parte dei convertitori, usando solo le 26 lettere dell'alfabeto più le 10 cifre.
Ogni cifra di un numero ha un valore posizionale basato sulle potenze della base. In decimale, il numero scritto come "205" significa 2 centinaia, 0 decine e 5 unità, perché 100 e 10 sono potenze di 10. La stessa idea vale in qualsiasi base: la cifra più a destra è moltiplicata per base⁰, la successiva per base¹, quella dopo per base², e così via.
Come convertire un numero in un'altra base
Conversione di un numero in decimale
Per trasformare in decimale un numero di una base qualsiasi, si moltiplica ogni cifra per la base elevata alla sua posizione, contando da 0 a destra, e poi si sommano i risultati.
Formula: valore = dₙ × baseⁿ + ... + d₁ × base¹ + d₀ × base⁰
Esempio: convertire in decimale il numero 101 in base 5.
- (1 × 5²) + (0 × 5¹) + (1 × 5⁰)
- = 25 + 0 + 1
- = 26
Quindi 101 in base 5 equivale a 26 in decimale.
Conversione dal decimale a un'altra base
Per trasformare un numero decimale in un'altra base, lo si divide ripetutamente per la base di arrivo, annotando ogni resto. Ci si ferma quando il numero raggiunge 0, poi si leggono i resti dall'ultimo trovato fino al primo.
Esempio: convertire il numero decimale 26 in base 5.
- 26 ÷ 5 = 5, resto 1
- 5 ÷ 5 = 1, resto 0
- 1 ÷ 5 = 0, resto 1
- Leggendo i resti dal basso verso l'alto si ottiene: 101
Questo conferma l'esempio precedente: 26 in decimale è 101 in base 5.
Esempi svolti
Da binario a decimale: il numero binario 1101 si converte in decimale così: (1×2³) + (1×2²) + (0×2¹) + (1×2⁰) = 8 + 4 + 0 + 1 = 13.
Da decimale a esadecimale: il numero decimale 202 si converte in esadecimale così: 202 ÷ 16 = 12 con resto 10, poi 12 ÷ 16 = 0 con resto 12. In esadecimale, 10 si scrive A e 12 si scrive C. Leggendo i resti dal basso verso l'alto si ottiene CA. Quindi 202 in decimale è CA in esadecimale.
Da ottale a binario: il numero ottale 17 si converte prima in decimale: (1×8¹) + (7×8⁰) = 15. Il decimale 15 si converte poi in binario come 1111. Quindi 17 in ottale equivale a 1111 in binario.
Basi numeriche comuni
| Base | Nome | Cifre usate | Dove si usa |
|---|---|---|---|
| 2 | Binario | 0–1 | Come i computer memorizzano ed elaborano i dati |
| 8 | Ottale | 0–7 | Codici dei permessi dei file in Unix e Linux |
| 10 | Decimale | 0–9 | Conteggio quotidiano |
| 16 | Esadecimale | 0–9, A–F | Indirizzi di memoria, codici colore sul web |
| 36 | Base 36 | 0–9, A–Z | Identificatori web brevi e codici compatti |
Numeri molto grandi
Alcune conversioni riguardano numeri troppo grandi per essere gestiti esattamente dall'aritmetica a doppia precisione standard, cioè numeri interi superiori a 2⁵³ − 1 (9,007,199,254,740,991), come un valore esadecimale a 64 bit del tipo FFFFFFFFFFFFFFFF. Questo convertitore lavora con numeri interi di qualsiasi dimensione grazie all'aritmetica intera a precisione arbitraria, quindi non arrotonda né perde cifre sui valori lunghi.
Domande frequenti
Qual è la differenza tra binario ed esadecimale?
Il sistema binario usa solo due cifre, 0 e 1. L'esadecimale ne usa sedici, da 0 a 9 e da A a F. Poiché 16 è 2⁴, ogni singola cifra esadecimale corrisponde esattamente a quattro cifre binarie, ed è per questo che l'esadecimale è spesso usato come modo breve per scrivere i valori binari.
Come si converte a mano un numero da decimale a binario?
Si divide il numero decimale per 2 ripetutamente, annotando ogni resto. Si leggono i resti in ordine inverso, dall'ultima divisione alla prima. Per esempio, 13 ÷ 2 = 6 con resto 1, 6 ÷ 2 = 3 con resto 0, 3 ÷ 2 = 1 con resto 1, 1 ÷ 2 = 0 con resto 1. Leggendo dal basso verso l'alto si ottiene 1101, che è 13 in binario.
Qual è la base più grande supportata da questo strumento?
Lo strumento supporta basi da 2 a 36. La base 36 è la più alta raggiungibile usando solo le dieci cifre 0-9 e le ventisei lettere A-Z, perché in questo modo si ottengono esattamente 36 simboli distinti.
Questo strumento può convertire numeri negativi?
No. Funziona solo con numeri interi positivi. Per convertire un numero negativo, si converte il suo valore assoluto e poi si aggiunge a mano il segno meno al risultato.
Perché esistono l'esadecimale e l'ottale se i computer usano il binario al loro interno?
Lunghe sequenze di 1 e 0 sono difficili da leggere per le persone e facili da contare male. Poiché 16 e 8 sono entrambe potenze di 2, le cifre esadecimali e ottali corrispondono in modo chiaro a gruppi fissi di cifre binarie: quattro bit per l'esadecimale e tre bit per l'ottale. Così i lunghi valori binari risultano più corti e più facili da controllare a occhio.
Esiste un limite alla grandezza del numero che questo strumento può convertire?
Nessun limite pratico. Lo strumento usa l'aritmetica a precisione arbitraria invece dei numeri in virgola mobile standard, quindi converte valori molto lunghi, compresi quelli più grandi di quanto una calcolatrice comune possa rappresentare con esattezza, senza errori di arrotondamento.
Riferimenti
- Ecma International. ECMAScript Language Specification (ECMA-262), Number.MAX_SAFE_INTEGER. TC39 ECMA-262 — i numeri interi superiori a 2⁵³ − 1 non hanno la garanzia di essere rappresentabili esattamente come valori Number a doppia precisione.
- The Open Group. chmod: change the file modes (POSIX). Open Group Base Specifications — l'operando mode di chmod può essere "a non-negative octal integer".
- World Wide Web Consortium. CSS Color Module Level 4. W3C CSS Color 4 — la notazione esadecimale sRGB per i colori "represents the RGB and alpha components in hexadecimal notation".