martedì 3 settembre 2013

BIT - BYTE E MULTIPLI

Quante volte ci siamo scontrati con le parole "Bit", "Byte", "KB", "MB", "GB"??  Questo accade quando andiamo ad acquistare un computer, un hard disk, un banco di memoria RAM, una pendrive (anche chiamata "chiavetta USB"). Molte volte ci si chiede perché un MB (Mega Byte) non sia 1 milione di bytes ma qualcosa in più. Vediamo di capirci qualcosa di più!!


L'UOMO E IL COMPUTER
Vi siete mai chiesti perché l'uomo usi il sistema decimale per contare? La risposta é che conta da 0 a 9 usando, quindi, dieci simboli con i quali si formano tutti i numeri, perché 10 sono i valori di questo intervallo come 10 sono le dita delle mani.
Siamo stati abituati a pensare che contare sulla base di 10 valori sia molto più facile e, in effetti, questo é più "affine" alla nostra natura.
Il computer, invece, calcola sulla base del SISTEMA BINARIO: sistema di numerazione formato solo da due valori, 0 e 1. La risposta al perché vengano usati tali valori é analogo a quello citato prima per quanto riguarda l'uomo: il sistema binario é "affine" alla natura del calcolatore.
Possiamo dare un significato a queste due sole cifre specificandone altrettanti aspetti:
  • I valori 0 e 1 corrispondono alle situazioni Vero - Falso, Acceso - Spento, Si - No. Questi sono i due soli valori che un computer riconosce perché esso, per memorizzare una informazione su un supporto di memoria, ha a disposizione solo questi. Per esempio, se prendessimo in esame un hard disk, sappiamo che esso é composto da dischi e testine. Quando memorizziamo un dato, le testine si spostano in una data porzione di un dato disco e fanno passare della corrente. Tale corrente polarizza quella porzione di disco in maniera positiva o negativa generando la memorizzazione dell'informazione;
  • Altra motivazione risiede nel fatto che per un computer é più facile e più veloce contare solo 2 valori anziché 10.

L'UNITA' FONDAMENTALE: IL BIT
Il bit é l'unità fondamentale di memoria per un computer: esso corrisponde ad un valore a cui viene associato lo stato di Vero - Falso, Acceso - Spento, Si - No (vedi sopra).
La parola bit é formata dalla contrazione di due parole: BInary digiT. Tradotto dalla lingua inglese significa "cifra binaria".

UN PASSO AVANTI: IL BYTE
Purtroppo il BIT può, come detto in precedenza, immagazzinare solo uno dei due valori binari: 0 e 1. Esso non può costituire un dato "complesso" ma solo un valore.
Per fare un esempio: immaginate come non si possa attribuire, tramite un solo bit, un valore relativo ad ogni tasto della nostra tastiera. Con due soli valori a disposizione é impossibile identificare tutti i 105 tasti!
Proprio per questo nasce il byte. Esso é formato da 8 bits contigui, concatenati. In questa maniera, utilizzando un byte, é possibile superare il problema esposto in precedenza.
L'informazione quindi verrà elaborata ed immagazzinata sotto forma di tanti bytes.

I MULTIPLI DEL BYTE: KB, MB, GB, TB
Chiaramente, come per ogni unità di misura, anche per il byte vi sono ordini di grandezze maggiori, multipli: Kb (kilobyte), Mb (megabyte), Gb (gigabyte), Tb (terabyte).
Citiamo semplicemente, rimandando le precisazioni, a cosa corrispondono i multipli del byte: 1KB = 1.000 bytes, 1 MB = 1.000.000 bytes, 1 GB = 1.000.000.000 bytes, 1 TB = 1.000.000.000.000 bytes.

SISTEMA BINARIO: LE COSE CAMBIANO PER I MULTIPLI DEL BYTE
Come detto in precedenza ci sono alcune precisazioni da fare.
Proprio per la natura del computer esso calcola in sistema binario. I valori dei multipli del byte sarebbero quelli espressi in precedenza se noi lavorassimo in sistema decimale ma in binario le cose cambiano!
Nel sistema binario i multipli vengono espressi con una forma esponenziale la cui base é 2 poiché sono solo 2 i valori: 0 e 1.
Un kilobyte non sarà equivalente a 10 alla terza bytes (sistema decimale) ma a 2 alla decima bytes; un megabyte non sarà 10 alla sesta ma 2 alla ventesima; un gigabyte non sarà 10 alla nona ma 2 alla trentesima; un terabyte non sarà 10 alla dodicesima (come un tera nella numerazione decimale) ma 2 alla quarantesima!
Procedendo con questo schema, vediamo i valori effettivi nel sistema binario:
  • 1 bit = solo un valore: 0 o 1;
  • 1 byte = sequenza di 8 BITS contigui, esempio: 10010100;
  • 1 Kb = (mille) 2 = 1.024 bytes;
  • 1 Mb = (un milione) 2 alla 20^ = 1.048.576 bytes;                                 
  • 1 Gb = (un miliardo) 2 alla 30^ = 1.073.741.824 bytes;
  • 1 Tb = (mille miliardi) 2 alla 40^ = 1.099.511.627.776 bytes;

COME DISTINGUERE I MULTIPLI DEL BYTE IN BASE 10 E IN BASE 2?
Quanto detto fino ad ora é impreciso. L'uso comune ci consente di continuare a chiamare i multipli del byte, in base 2, con i nomi usati fino ad adesso ma questo ci induce nell'errore.
Per quanto riguarda i multipli del byte binari, sarebbe più giusto chiamarli: KiB, kibibyte - MiB, mebibyte - GiB, gibibyte - TiB, tebibyte.
Sono stati definiti nel 1998 dalla Commissione Elettronica Internazionale proprio per non cadere nell'errore di utilizzare i multipli del sistema decimale: Kb, kilobyte - Mb, megabyte - Gb, gigabyte - Tb, terabyte.