Base Numerica

Confronta Calcoli

Download

Include i tuoi valori e risultati per questo calcolo, più eventuali calcoli aggiuntivi che hai confrontato.

Riscrivere lo Stesso Valore in Binario, Ottale, Decimale ed Esadecimale

Una base numerica (o “radice”) è quante cifre distinte usa un sistema numerico prima di riportare al valore di posizione successivo — il decimale usa 10 (0–9), il binario usa 2 (0–1), l’ottale usa 8 (0–7), e l’esadecimale usa 16 (0–9 poi A–F). Inserisci un numero intero in una qualsiasi di queste quattro basi, e questo calcolatore mostra lo stesso valore scritto in tutte e quattro contemporaneamente.

Il binario è come i computer rappresentano ogni valore internamente (ogni cifra è un “bit”); l’esadecimale è un’abbreviazione comune per il binario in programmazione (ogni cifra esadecimale rappresenta esattamente 4 cifre binarie, quindi è molto più compatto da leggere e digitare); l’ottale compare nei vecchi permessi dei file Unix e in alcuni contesti di basso livello. Il decimale è semplicemente il sistema base-10 di tutti i giorni.

La Formula

Ogni sistema numerico posizionale funziona allo stesso modo: ogni cifra viene moltiplicata per la base elevata alla sua potenza di posizione, poi sommata:

Valore=i=0ndi×Basei\vA{\text{Valore}} = \sum_{i=0}^{n} d_i \times \vB{\text{Base}}^i

dove did_i è la cifra alla posizione ii (contando da 0 dalla cifra più a destra). Convertire in una base diversa divide ripetutamente il valore decimale per la nuova base, registrando ogni resto — l’inverso della somma sopra.

Esempio Pratico

Convertendo il binario 11111111 nelle sue altre tre basi:

  1. Leggendo da destra a sinistra, ogni 1 contribuisce con il suo valore di posizione: 27+26+25+24+23+22+21+20=2552^7 + 2^6 + 2^5 + 2^4 + 2^3 + 2^2 + 2^1 + 2^0 = 255.
  2. Decimale: 255.
  3. Ottale: dividendo 255 per 8 ripetutamente (255 ÷ 8 = 31 r7, 31 ÷ 8 = 3 r7, 3 ÷ 8 = 0 r3) si leggono i resti dal basso verso l’alto come 377.
  4. Esadecimale: 255 ÷ 16 = 15 r15, 15 ÷ 16 = 0 r15 — entrambi i resti sono 15 (F in esadecimale), dando FF.

Fattori Chiave da Considerare

  • Un singolo byte (8 bit) può rappresentare esattamente 256 valori distinti — da 0 a 255 in decimale, o da 00 a FF in esadecimale. Questo è esattamente il motivo per cui 255/FF è un valore di riferimento così comune nell’informatica — è il valore massimo che un singolo byte può contenere, il che compare ovunque, dai canali colore RGB (0-255 per canale) fino a formati di rete e di file.
  • L’ottale era storicamente più comune di quanto non sia oggi, in gran parte a causa delle vecchie dimensioni delle parole del computer. L’ottale (base 8) si mappa in modo pulito su gruppi di 3 cifre binarie, il che si adattava a computer costruiti attorno a dimensioni di parola divisibili per 3 bit — l’informatica moderna è passata in gran parte all’esadecimale (che si mappa su gruppi di 4 bit) poiché la maggior parte dell’hardware moderno usa dimensioni di parola divisibili per 4 e 8, sebbene l’ottale compaia ancora in contesti specifici come la notazione dei permessi dei file Unix (ad es. chmod 755).
  • Un errore comune dei programmatori è confondere la base di un numero solo dal contesto. Le cifre “10” significano valori molto diversi a seconda della base — 10 in decimale, 2 in binario, 8 in ottale, 16 in esadecimale — motivo per cui i linguaggi di programmazione tipicamente richiedono un prefisso esplicito (come 0x per esadecimale o 0b per binario) per rimuovere qualsiasi ambiguità su quale base sia intesa.
  • Qualsiasi numero intero può teoricamente essere rappresentato in QUALSIASI base, non solo queste quattro. Binario, ottale, decimale, ed esadecimale sono semplicemente le quattro basi con l’uso reale più comune nell’informatica e nella matematica quotidiana — lo stesso principio di notazione posizionale che usa questo calcolatore si estende a qualsiasi base, come base 3, base 20, o base 60 (la base di come tempo e angoli sono tradizionalmente divisi).

Errori Comuni

  • Leggere un numero a base mista senza prefisso come decimale per impostazione predefinita. “10” significa dieci in decimale ma solo due in binario — controlla sempre (o indica) in quale base è scritto un numero prima di fare calcoli con esso.
  • Supporre che gli zeri iniziali cambino il valore. Proprio come in decimale, 0011 in binario è lo stesso valore di 11 — gli zeri iniziali contano solo per la formattazione a larghezza fissa (come mostrare un byte intero), non per il valore effettivo del numero.
  • Dimenticare che le cifre esadecimali sopra 9 usano lettere, non numeri a due cifre. Il dieci esadecimale si scrive A, non 10 — scrivere 10 in esadecimale significa in realtà sedici in decimale, una fonte comune di errori considerevoli.
  • Cercare di convertire direttamente un numero negativo. Come nota la FAQ sopra, i valori binari/esadecimali negativi dipendono da una larghezza di bit scelta e da una convenzione di complemento a due — non esiste un’unica conversione univoca come per i numeri interi non negativi.

Utile Sapere

  • Stai lavorando con indirizzi di rete invece che numeri arbitrari? Calcolatore Sottorete IP applica questa stessa relazione binario/decimale specificamente agli indirizzi IPv4.
  • Hai bisogno di numeri decimali molto grandi o molto piccoli in forma compatta? Calcolatore Notazione Scientifica gestisce invece quel tipo di conversione.
  • Curioso di un sistema di numerazione posizionale molto più antico? Calcolatore Numeri Romani converte da e verso i numeri romani, che usano un approccio completamente diverso (non posizionale).

Fonte: Standard positional numeral system conversion.

Domande Frequenti

Cos'è una base numerica (radice)?

Una base numerica è quante cifre distinte usa un sistema numerico prima di riportare al valore di posizione successivo. Il decimale (base 10) usa le cifre 0-9; il binario (base 2) usa solo 0 e 1; l'ottale (base 8) usa 0-7; l'esadecimale (base 16) usa 0-9 poi le lettere A-F per rappresentare 10-15.

Perché i computer usano il binario?

L'hardware del computer è costruito da interruttori che sono sempre o completamente accesi o completamente spenti, il che si mappa naturalmente sulle due cifre del binario (1 e 0). Ogni valore che un computer memorizza o elabora è in definitiva rappresentato in binario, anche se i programmatori solitamente lavorano con basi più leggibili dall'uomo come il decimale o l'esadecimale.

Perché l'esadecimale viene usato invece del binario in programmazione?

Ogni cifra esadecimale rappresenta esattamente 4 cifre binarie (bit), quindi un numero esadecimale è circa un quarto della lunghezza del numero binario equivalente pur rappresentando esattamente lo stesso valore — molto più facile da leggere, digitare, e confrontare per una persona rispetto a una lunga stringa di 1 e 0.

Questo calcolatore può gestire numeri negativi?

No — rappresentare un numero negativo in binario o esadecimale richiede scegliere una larghezza di bit fissa e una convenzione di complemento a due, che varia in base al contesto (8-bit, 16-bit, 32-bit, ecc.). Questo calcolatore è limitato a numeri interi non negativi, dove la conversione è inequivocabile.

Conferma la tua età

Per creare un account, indica il tuo mese e anno di nascita.