Come si usa
- 1Per i numeri, resta su «Basi numeriche» e scrivi in un campo qualsiasi: decimale, binario, ottale o esadecimale. Gli altri tre si aggiornano all’istante.
- 2Puoi usare prefissi come
0b,0oe0x, il segno meno e spazi o trattini bassi tra le cifre. Scegli se raggruppare le cifre binarie a gruppi di quattro (nibble) o di otto (byte). - 3Per il testo, passa a «Testo ↔ binario» e scrivi un messaggio per ottenerne i byte UTF-8 in binario, esadecimale o decimale.
- 4Per leggere un codice binario, scegli la direzione opposta e incolla i byte, con o senza spazi. «Inverti» cambia direzione e mantiene il risultato.
Come funzionano i numeri binari
Il sistema binario è in base 2: ogni cifra, detta bit, vale 0 o 1, e ogni posizione vale il doppio di quella alla sua destra – 1, 2, 4, 8, 16 e così via. Quindi 1011 è 8 + 0 + 2 + 1 = 11. Il sistema decimale funziona allo stesso modo con le potenze di 10, l’ottale con le potenze di 8 e l’esadecimale con le potenze di 16, usando le lettere A–F per i valori da 10 a 15.
I programmatori amano l’esadecimale perché una cifra esadecimale corrisponde esattamente a quattro bit: F è 1111, quindi il byte 1111 0000 è semplicemente F0. Ogni cifra ottale rappresenta tre bit e oggi sopravvive soprattutto nei permessi dei file Unix, come 755.
Il convertitore usa interi a precisione arbitraria, quindi non è limitato a 32 o 64 bit: funzionano anche numeri con migliaia di cifre. I numeri negativi hanno il segno meno e sotto i campi vedi anche il loro complemento a due, la forma in cui i computer li memorizzano davvero.
Come il testo diventa binario
I computer memorizzano il testo come numeri. Unicode assegna a ogni carattere un numero, il suo punto di codice (code point) – per A è 65, per é 233, per € 8364 – e UTF-8 lo scrive usando da uno a quattro byte. Le lettere senza accenti e le cifre occupano un byte ciascuna, le lettere accentate due, la maggior parte degli altri sistemi di scrittura tre e le emoji quattro.
Così «Ciao» diventa 01000011 01101001 01100001 01101111: i byte 67 per C, 105 per i, 97 per a e 111 per o. Poiché lo strumento usa UTF-8, la codifica del web, i byte che ottieni corrispondono a ciò che programmi e siti web inviano davvero.
Leggere il codice binario
I messaggi in binario di solito sono scritti in gruppi di otto bit, un gruppo per byte. Se i gruppi hanno solo sette bit, perché un altro convertitore ha tolto lo zero iniziale, lo strumento li legge comunque, purché i byte siano separati da spazi. Senza spazi, il totale deve essere un multiplo di otto bit: altrimenti non c’è modo di capire dove finisce un byte e dove inizia il successivo.
Se i byte non formano UTF-8 valido, i caratteri che non si possono decodificare compaiono come �. Di solito significa che i dati non sono affatto testo, oppure che sono stati salvati con un set di caratteri più vecchio, come Windows-1252.
Domande frequenti
Come si converte da binario a decimale?
Moltiplica ogni bit per il valore della sua posizione e somma i risultati. Per 101101 fa 32 + 8 + 4 + 1 = 45. Oppure scrivi il numero binario nel campo «Binario» qui sopra e leggi subito il valore decimale.
Come scrivo il mio nome in binario?
Apri «Testo ↔ binario» e scrivi il tuo nome. Ogni lettera diventa un byte da 8 bit: per esempio, A è 01000001 e a è 01100001. Le lettere accentate e i caratteri di altri alfabeti occupano due o più byte.
Qual è la differenza tra bit e byte?
Un bit è una singola cifra binaria, 0 o 1. Un byte è un gruppo di otto bit e può contenere 256 valori diversi, da 0 a 255 (da 00000000 a 11111111). Le dimensioni dei file si misurano in byte, mentre la velocità di internet di solito si indica in bit al secondo.
Come si memorizzano i numeri negativi in binario?
Quasi tutti i computer usano il complemento a due: per ottenere −x, inverti ogni bit di x e aggiungi 1. Su 8 bit, −1 è 11111111 e −128 è 10000000. Il convertitore mostra il complemento a due di qualsiasi numero negativo nella più piccola delle larghezze standard sufficiente a contenerlo: 8, 16, 32 o 64 bit.
Perché i programmatori usano l’esadecimale invece del binario?
È molto più compatto e si converte direttamente in binario, perché ogni cifra esadecimale corrisponde esattamente a quattro bit. Un valore a 32 bit richiede 32 cifre binarie ma solo 8 esadecimali: ecco perché indirizzi di memoria, codici colore come #FF8800 e hash si scrivono in esadecimale.