Vai al contenuto
Quaestio

Sistemi numerici

Inserisci il numero nella base da cui parti e compare insieme in tutti i sistemi più comuni.

Lo stesso numero in altre basi

  • Binario11111111
  • Ottale377
  • Decimale255
  • Esadecimaleff
  • Base personalizzata 3673
2–36
Incorpora

Incorpora lo strumento nel tuo sito

Copia il codice e incollalo dove vuoi che appaia lo strumento, per esempio in un articolo del blog o in una pagina scolastica. È gratuito, il riquadro non ha pubblicità e lo strumento calcola nel browser del visitatore.

Come funziona

Una base dice quante cifre si usano prima di passare alla posizione successiva. Noi contiamo di solito in base 10 con le cifre da 0 a 9, mentre i calcolatori lavorano in base 2 con solo 0 e 1.

L’esadecimale, base 16, serve ad accorciare i numeri binari. Quattro cifre binarie corrispondono esattamente a una cifra esadecimale, per cui un byte si scrive sempre con due caratteri, per esempio ff per 255.

Le cifre oltre il nove si scrivono con le lettere: a vale 10, b vale 11 e così via fino a z, che in base 36 sta per 35.

Lo strumento calcola con numeri interi di qualsiasi dimensione, quindi anche i valori esadecimali lunghi conservano ogni cifra.

Come calcola lo strumento

Il numero si legge una cifra alla volta da sinistra: il valore ottenuto fin lì viene moltiplicato per la base e si aggiunge la cifra successiva. 7ea in base 16 diventa 7, poi 7 × 16 + 14 = 126, infine 126 × 16 + 10 = 2.026. Nell’altro senso il numero viene scritto dalla conversione incorporata del browser, che usa i caratteri 0–9 e a–z, non scrive mai zeri iniziali e mette un segno meno davanti ai numeri negativi.

2.026 è 11111101010 in binario, 3752 in ottale e 1ka in base 36. La base 36 è la più alta perché dieci cifre e ventisei lettere fanno 36 caratteri. Oltre alle quattro basi consuete l’elenco mostra una base personalizzata, all’inizio la 36, e il pulsante su ogni riga copia il numero in quella base.

Che cosa accetta il campo

Lettere maiuscole e minuscole hanno lo stesso significato, e spazi e trattini bassi fra le cifre vengono tolti, quindi 1111_0000 in base 2 è 240. Prefissi come 0x e 0b non vengono riconosciuti. In base 16, 0x1f viene rifiutato, ma in base 36 la x è una cifra, e lo stesso testo si legge allora come il numero 42.819. Gli zeri iniziali spariscono, quindi 00ff si scrive ff.

Si possono convertire solo numeri interi, quindi una virgola o un punto decimale danno un messaggio di errore. I numeri negativi conservano il segno meno: −ff è −255 e in binario −11111111. Lo strumento non mostra quindi come un computer memorizza un numero negativo in un numero fisso di bit.

Contesto

La RFC 4648 chiama la base 16 la codifica esadecimale standard e dice che non distingue fra maiuscole e minuscole. L’alfabeto dello standard usa le maiuscole A–F, mentre JavaScript scrive le minuscole. Entrambe indicano lo stesso numero.

I numeri ordinari del browser contengono esattamente tutti gli interi solo fino a 2⁵³ − 1 = 9.007.199.254.740.991. Lo strumento usa quindi il tipo intero BigInt, che non ha questo limite. 2⁶⁴ = 18.446.744.073.709.551.616 risulta così esattamente 10000000000000000 in esadecimale, un uno seguito da sedici zeri.

Fonti

Come vengono verificati gli strumenti