Che cos’è il sistema binario? E che differenza c’è tra bit e byte?

Creato il 06 maggio 2014 da D4rkid @ipertutti

Come ho già detto nel precedente articolo, un programmatore crea un programma che, una volta installato sul computer, è in grado di eseguire un determinato compito. Purtroppo però il computer non capisce il linguaggio naturale quindi per poter comunicare con lui bisogna trovare un altro modo: il sistema binario.

Che cos’è il sistema binario ?

Noi utilizziamo comunemente il sistema decimale per contare ed eseguire calcoli, attraverso l’uso di 10 simboli che vanno da 0 a 9. Al contrario, per contare ed effettuare calcoli (ma non solo), i computer eseguono un altro sistema che è chiamato sistema binario, proprio perché è costituito da 2 soli simboli: 0 ed 1. Questa scelta è stata fatta perché i computer (ed in generale tutti i circuiti elettronici) capiscono solamente questi due simboli, che in pratica corrispondono agli stati in cui può trovarsi un circuito elettrico:

  • 0 corrisponde alla mancanza di tensione (cioè 0 Volt);
  • 1 corrisponde alla presenza di tensione (in genere 5 Volt);

Mediante l’uso di queste due sole cifre, è possibile rappresentare però non solo i numeri, ma anche parole, immagini, video, suoni, ed in generale qualsiasi tipo di informazione digitale. Il computer, infatti, prima converte, ad esempio, un numero, un simbolo o una parola in questo sistema binario, esegue i calcoli e una volta convertiti i risultati dal sistema binario a quello decimale, restituisce le immagini, i video, l’audio, eccetera.

Come si converte un numero dal sistema decimale al sistema binario?

Se io voglio convertire un numero dal sistema decimale al sistema binario devo dividere questo numero per 2 poi, se il risultato della divisione dà resto si mette 1, se invece il risultato della divisione non dà resto si mette 0. Una volta arrivati ad 1, come risultato della divisione, ci si ferma e poi si leggono i resti dal basso verso l’alto. Per esempio, se voglio convertire il numero 73 dal sistema decimale al sistema binario devo fare in questo modo:

  • 73/2 = 36 con il resto quindi 1
  • 36/2 = 18 senza resto quindi 0
  • 18/2 = 9 senza resto quindi 0
  • 9/2 = 4 con il resto quindi 1
  • 4/2 = 2 senza resto quindi 0
  • 2/2 = 1 senza resto quindi 0
  • 1/2 = 0 con il resto quindi 1

A questo punto leggendo dal basso verso l’alto e scrivendo da sinistra verso destra ottengo 1001001 che corrisponde proprio al numero 73 nel sistema decimale.

Come si converte un numero dal sistema binario al sistema decimale?

Se invece voglio convertire un numero dal sistema binario a quello decimale devo moltiplicare le cifre del numero binario per le potenze di 2 in ordine crescente iniziando a contare da destra con 20 (un numero elevato zero fa sempre 1 tranne 00) e proseguire verso sinistra con 21 (che fa 2), poi 22 (che fa 4), poi 23 (che fa 8), e così via fino all’ultima cifra. Alla fine basta sommare i risultati ed ottenere così il numero nel sistema decimale. Se ad esempio voglio convertire dal sistema binario a quello decimale il numero 1001001 devo fare:

1×20=1 + 0×21=0 + 0×22=0 + 1×23=8 + 0×24=0 + 0×25=0 + 1×26=64

Quindi avrò come risultato: 1 + 0 + 0 + 8 + 0 + 0 + 64 = 73 che corrisponde proprio al numero espresso nel sistema decimale.
Questo per far capire che il computer (mediante la CPU) esegue milioni, se non miliardi, di questi calcoli in un solo secondo! C’è da dire però che oltre al sistema binario ed a quello decimale esiste anche il sistema esadecimale, che viene usato in informatica per la sua relazione diretta tra una cifra esadecimale e quattro cifre binarie.

Che differenza c’è tra bit e byte ?

In informatica le cifre binarie, cioè 0 oppure 1, vengono chiamate bit (da binary digit): questo bit è l’unità fondamentale in un computer e, siccome la memoria è organizzata in celle che hanno una dimensione di 8 bit ciascuna, ogni cella viene chiamata byte cioè, in parole povere, 1 byte è formato da 8 bit. Al posto del singolo byte, in informatica vengono utilizzati per lo più i multipli del byte. Quelli più utilizzati sono (ma ce ne sono anche altri):

  • kB che si legge kilobyte: 1 kB equivale a 210 = 1024 byte
  • MB che si legge megabyte: 1 MB equivale a 220 = 1.048.576 byte
  • GB che si legge gigabyte: 1 GB equivale a 230 = 1.073.741.824 byte
  • TB che si legge terabyte: 1 TB equivale a 240 = 1.099.511.627.776 byte

Ad esempio un file (che è il contenitore di informazioni e/o dati in formato digitale) da 8 MB corrisponde a 8 x 1.048.576 = 8.388.608 byte, ma invece di scrivere questo valore si preferisce usare la più comoda e veloce notazione 8 MB.
Bisogna però dire che per comodità di calcolo, i multipli del byte vengono di solito arrotondati a potenze di 2, invece che di 10 cioè, ad esempio, un kilobyte dovrebbe essere indicato con 103 = 1000 byte e non con 210 = 1024 byte. Questa ambiguità viene sfruttata dai produttori di hard disk, che utilizzano i corretti multipli decimali, per far apparire le dimensioni dei loro prodotti maggiori rispetto a quanto in realtà non siano: ad esempio un hard disk da 800 GB è in realtà circa 745 GiB, che non si legge gigabyte ma gibibyte, da giga binary byte: questi sono i nuovi prefissi creati proprio per evitare questa ambiguità, ma che purtroppo sono ancora poco utilizzati.


Potrebbero interessarti anche :

Possono interessarti anche questi articoli :