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