Come già detto nel precedente articolo, che riguarda cosa sono gli algoritmi, un programmatore crea un programma che una volta installato sul computer è in grado di eseguire il compito per il quale questo è stato progettato. Purtroppo, però, il computer non è in grado di capire direttamente il linguaggio naturale e quindi, per poter comunicare con lui, bisogna per forza trovare un altro modo: il sistema binario. Ma che cos’è il sistema binario? E qual è la differenza tra bit e byte?
Indice
Che cos’è il sistema binario?
Per contare ed eseguire semplici calcoli noi comunemente utilizziamo il classico sistema decimale il quale, a sua volta, per poter rappresentare i diversi numeri, utilizza dieci cifre da 0 a 9. Per contare ed eseguire complicati calcoli – ma non solo –, i computer utilizzano invece un altro sistema che prende il nome di sistema binario, proprio perché quest’ultimo è costituito da soli due simboli: 0 ed 1. Questa scelta è stata fatta semplicemente perché i computer e, in generale, tutti i vari circuiti elettrici capiscono unicamente solo questi due simboli. Gli stati in cui può trovarsi un qualunque circuito elettrico sono infatti solamente due, ovvero:
- 0, che corrisponde alla mancanza di tensione, quindi a 0 volt;
- 1, che corrisponde invece alla presenza di tensione, in genere 5 volt.
Mediante l’utilizzo di queste due sole cifre si possono però rappresentare non solo tutti i possibili numeri esistenti ma anche tutte le parole, le immagini, i video, i suoni, ed in generale tutte le altre più disparate tipologie di informazioni digitali. Il computer, infatti, prima converte ad esempio un numero, un simbolo o una parola in questo sistema binario, poi esegue i dovuti calcoli, e infine, una volta convertiti i risultati dal sistema binario al sistema decimale, restituisce le parole, le immagini, i video, i suoni, e in generale qualsiasi altra tipologia di informazione necessaria.
Come convertire un numero dal sistema decimale al sistema binario
Per convertire un numero dal sistema decimale al sistema binario non bisogna fare altro che dividere il numero in questione per due, poi, se il risultato di questa divisione dà resto si mette 1, altrimenti, se il risultato di questa divisione non dà resto si mette 0. Una volta quindi arrivati a 0 come risultato della divisione ci si ferma e poi si leggono i valori ottenuti dal basso verso l’alto. Ad esempio, se voglio convertire il numero 74 dal sistema decimale al sistema binario dovrò fare semplicemente in questo modo:
- 74/2 = 37 senza resto, quindi 0
- 37/2 = 18 con resto, quindi 1
- 18/2 = 9 senza resto, quindi 0
- 9/2 = 4 con resto, quindi 1
- 4/2 = 2 senza resto, quindi 0
- 2/2 = 1 senza resto, quindi 0
- 1/2 = 0 con resto, quindi 1
A questo punto, leggendo i valori ottenuti dal basso verso l’alto e scrivendoli da sinistra verso destra otterrò il numero binario 1001010 che, nel sistema decimale, corrisponderà proprio al numero 74.
Come convertire un numero dal sistema binario al sistema decimale
Per convertire un numero dal sistema binario al sistema decimale non bisogna fare altro, invece, che moltiplicare le cifre del numero binario per le potenze di 2 in ordine crescente, cioè iniziando a contare da destra con 2^0 (un numero elevato zero fa sempre 1 tranne 0^0) e proseguendo verso sinistra con 2^1 che fa 2, poi 2^2 che fa 4, poi 2^3 che fa 8, e così via fino all’ultima cifra. Alla fine basterà soltanto sommare i risultati conseguiti ed ottenere così il numero nel sistema decimale.
Ad esempio, se voglio convertire il numero 1001010 dal sistema binario al sistema decimale dovrò fare semplicemente in questo modo:
- (0 * 2^0) = 0
- (1 * 2^1) = 2
- (0 * 2^2) = 0
- (1 * 2^3) = 8
- (0 * 2^4) = 0
- (0 * 2^5) = 0
- (1 * 2^6) = 64
Sommando i valori ottenuti, cioè 0 + 2 + 0 + 8 + 0 + 0 + 64, avrò quindi come risultato 74, ovvero proprio il numero di partenza espresso nel sistema decimale. Questo per farti capire che un computer, mediante la sua CPU, esegue milioni se non addirittura miliardi di questi semplici calcoli in un solo secondo. Sappi comunque che oltre al sistema binario e al sistema decimale esiste anche il meno conosciuto sistema esadecimale il quale però, per via della sua relazione diretta tra una cifra esadecimale e quattro cifre binarie, rimane pur sempre molto utilizzato nel mondo dell’informatica.
Differenza tra bit e byte
Una volta chiarito che cos’è il sistema binario è ora possibile spiegare qual è la differenza tra bit e byte. In informatica le cifre binarie, cioè 0 oppure 1, vengono generalmente chiamate bit (dall’acronimo inglese di binary digit, pronunciato bàinari dìgit, in italiano cifra binaria). Ma che cos’è un bit? Un bit non è altro che l’unità fondamentale all’interno di un qualsiasi computer e, siccome la memoria nel PC viene normalmente organizzata in più celle da 8 bit, ogni cella prende perciò il nome di byte (si pronuncia bàit). In altre parole, la differenza tra bit e byte è che un byte non è altro che una sequenza di 8 bit.
Pertanto, un byte è in grado di assumere 2^8 = 256 valori che vanno da 0 a 255, ovvero dal valore binario 0 al valore binario 11111111. In informatica, però, al posto del singolo byte vengono molto spesso utilizzati anche i suoi numerosi multipli, tra i quali:
- il kB, ovvero il kilobyte, che equivale a 2^10 byte, cioè a 1.024 byte;
- il MB, ovvero il megabyte, che equivale a 2^20 byte, cioè a 1.048.576 byte;
- il GB, ovvero il gigabyte, che equivale a 2^30 byte, cioè a 1.073.741.824 byte;
- il TB, ovvero il terabyte, che equivale a 2^40 byte, cioè a 1.099.511.627.776 byte.
Ad esempio, un file da 8 MB (si pronuncia fàil ed equivale al contenitore principale di informazioni e/o dati nel formato digitale) corrisponde a 8 * 1.048.576 byte, ovvero a 8.388.608 byte, ma piuttosto che scrivere questo complicato valore si preferisce generalmente utilizzare la più comoda e veloce notazione di 8 MB.
Bisogna tuttavia aggiungere che per comodità di calcolo i multipli del byte vengono di solito erroneamente arrotondati a potenze di 2 invece che a potenze di 10, cioè, ad esempio, un kilobyte dovrebbe essere indicato con 10^3 = 1.000 byte e non con 2^10 = 1.024 byte. Questa ambiguità viene purtroppo sfruttata dai produttori di hard disk e di memorie, che utilizzano i corretti multipli decimali, per far apparire le capacità dei loro prodotti più grandi di quanto queste in realtà non siano. In parole povere, un hard disk da, ad esempio, 800 GB non è proprio 800 GB ma in realtà è circa 745 GiB, ovvero il 7,4% in meno.
A proposito, GiB non si legge gigabyte ma gibibyte (dalla contrazione dei termini giga binary byte) e corrisponde, cioè, ai nuovi prefissi per multipli binari creati proprio per evitare questa fastidiosa ambiguità ma che, purtroppo, sono ancora poco utilizzati.
Conclusioni
Arrivati dunque a questo punto dovresti aver finalmente capito sia che cos’è il sistema binario e sia qual è la differenza tra bit e byte. Se tuttavia dovessi avere ancora qualche dubbio su che cos’è il sistema binario e/o su qual è la differenza tra bit e byte ti consiglio vivamente di dare un’occhiata prima a questa pagina, poi a questa, e dopo anche a quest’altra.
P.S.: se casomai volessi avere maggiori informazioni riguardo le unità di misura informatiche potresti anche leggerti questo apposito articolo.