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.

Consigli per l'uso

  • 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.

Domande frequenti

Sono modi diversi di rappresentare i numeri, distinti dalla base adottata. La base dieci, che ci è familiare, usa le dieci cifre da 0 a 9; la base due usa soltanto 0 e 1 ed è quella dell'elaborazione interna degli elaboratori; la base otto usa le cifre da 0 a 7 e la base sedici le cifre da 0 a 9 più le lettere da A a F: queste ultime ricorrono di frequente nell'informatica e nell'elettronica.

Perché una cifra esadecimale esprime esattamente quattro bit, cioè quattro cifre binarie: la notazione esadecimale comprime dunque i dati binari in una forma leggibile per una persona. Si usa largamente là dove si trattano sequenze di bit interne alla macchina: indirizzi di memoria, codici di colore nella forma #RRGGBB, codifiche dei caratteri.

Con le calcolatrici comuni e con il tipo Number di JavaScript possono comparire errori per gli interi che superano due elevato alla cinquantatreesima, cioè circa novecentomila miliardi. Questo strumento calcola invece con BigInt, il tipo intero a precisione illimitata, e converte quindi con esattezza numeri di qualunque grandezza.

Soprattutto nella notazione dei permessi sui file dei sistemi Unix, come Linux e macOS, per esempio nel comando `chmod 755`. Ogni cifra esprime la combinazione dei permessi di lettura, che vale quattro, scrittura, che vale due, ed esecuzione, che vale uno: una sola cifra ottale riassume così i permessi del proprietario, del gruppo e degli altri utenti.
Tool-kun

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.