Bit e byte
Il funzionamento del computer si
basa tutto sulla presenza/assenza di segnale elettrico all’interno dei milioni e
milioni di circuiti che lo compongono; in ultima analisi l’attività del computer
consiste essenzialmente nella continua rapidissima combinazione e propagazione
di tutti questi segnali al proprio interno, sotto il controllo del clock.
Tutti i dispositivi di memoria rispecchiano perciò questo dualismo del segnale
(presente/assente, acceso/spento, aperto/chiuso, carico/scarico, on/off, 0/1…),
cosicché la memoria RAM è costituita da microcellette in grado di
caricarsi/scaricarsi di elettricità, la memoria ROM da contatti elettrici
presenti/assenti, i dischi da microelementi in grado di
magnetizzarsi/smagnetizzarsi, i CD da microelementi riflettenti/opachi, ecc.
L’elemento
minimo di memoria è dunque sempre costituito da un’unità binaria (cioè un'unità
che può trovarsi solo in due possibili stati, senza vie di mezzo) e viene detto
bit (da Binary digIT, ovvero cifra binaria). I due stati in cui
può trovarsi il bit sono convenzionalmente rappresentati con le cifre 0 e 1.
Per riuscire ad esprimere un'informazione un po' più articolata di due soli
stati, fu deciso a suo tempo di considerare i bit a gruppi di 8 per formare un
byte, un byte è perciò composto da 8 bit consecutivi. Dal momento che
ogni singolo bit può assumere due stati, un byte può assumere tutti gli stati da
00000000 a 11111111, con tutte le situazioni intermedie, per un totale di 256
diverse combinazioni (2×2×2… 8 volte =256); il byte viene perciò usato come
codice di base, cioè come un “alfabeto”, per rappresentare le varie informazioni
in memoria e su disco. Tutti i file, di qualunque tipo essi siano, sono sempre
composti da sequenze di byte, o meglio: sono composti da sequenze bit che
vengono sempre considerati a gruppi di 8 per volta.
Il significato di ogni singolo byte del file dipende poi dalla natura dei dati,
così ad esempio:
in un file di puro testo ogni singolo carattere (lettera maiuscola, lettera minuscola, cifra, punteggiatura, spazio, ecc.) viene rappresentato con un byte, in accordo con una tabella convenzionale detta ASCII (American Standard Code for Information Interchange);
in un file che contiene un programma eseguibile ogni singola istruzione viene rappresentata con un byte (o talvolta con più byte), secondo la convenzione stabilita dai produttori dei microprocessori;
in un file di dati numerici i byte sono usati per rappresentare numeri (interi o decimali) secondo le regole dell’aritmetica binaria (esiste tutta una teoria sui numeri binari, che comunque riguarda soltanto gli specialisti; l'utente normale può tranquillamente ignorarla);
Dal
byte discendono poi i multipli KByte, MByte, GByte e TByte quali unità di misura
della memoria (si usano per misurare sia la capacità di dischi e memorie, sia le
dimensioni di file e cartelle). Ogni multiplo è 1024 volte il precedente; la
scelta di questo numero (invece della cifra tonda 1000) è dovuta all'impiego
dell'aritmetica binaria in tutte le funzioni del computer (perché, il sistema
binario rispecchia esattamente la natura fisica dell'elaboratore).
Ordunque, nella rappresentazione dell'aritmetica binaria (che fa uso delle due
sole cifre 0 e 1), il numero 1000 corrisponde a "1111101000", mentre il numero
1024 corrisponde a "10000000000". È quindi quest'ultima, in realtà, la "cifra
tonda".
In definitiva, l'uso del numero 1000 come multiplo dell'unità di memoria avrebbe
comportato molte complicazioni e pochissimi vantaggi.