sabato 26 luglio 2014

I mattoncini dell'informazione: bit e byte

byte

Se qualche volta avete usato un computer, dopo 5 minuti vi sarete imbattuti in CPU a 32 o 64 bit, gigabyte di RAM, terabyte di hard disk, file da (troppi) megabyte scaricati da connesioni Internet da (troppo pochi) megabit. Vediamo cosa sono tutti questi (mega)bit e (giga)byte che hanno stravolto il nostro quieto vivere.

Il bit, la quantità atomica di informazione

Su molti interruttori sono serigrafati i numeri 0 ed 1, dove 0 significa "spento" e 1 "acceso": 0 ed 1 sono la codifica numerica (o digitale) di un'informazione. Una codifica che utilizza solo le cifre 0 ed 1 si chiama codifica binaria. Un'informazione che può assumere solo 2 possibili valori si rappresenta con una entità chiamata bit, contrazione di binary digit (cifra binaria).

Un bit è la codifica di un'informazione che ha solo 2 alternative possibili, indicate convenzionalmente con 0 e 1. Il simbolo del bit è la lettera "b" (minuscola) ma, in caso di ambiguità di interpretazione del simbolo "b", si dovrebbe scrivere bit (per esteso).

Poiché un bit può assumere solo i valori 0 e 1, esso può codificare solo informazioni elementari come "acceso" (1) o "spento" (0), "vero" (1) o "falso" (0), "si" (1) o "no" (0), e così via; non esistono altre possibilità o vie di mezzo tra uno stato e l'altro, per cui il bit non può essere suddiviso in unità più piccole (cioè non ha sottomultipli: non esiste "mezzo bit", o "un quarto di bit" ecc.).

Il byte, l'unità base dell'informazione digitale

La sequenza binaria che rappresenta l'unità di informazione digitale è costituita da 8 bit e si chiama byte; per costruzione, il bit è l'unico sottomultiplo del byte (1 bit equivale ad un ottavo di byte). Dati ed informazioni si costruiscono con un numero intero finito di byte: per esempio, una sequenza di dati può essere costituita da 7 byte o da 8 byte, non da 7,5 byte e neanche da "7 byte e 4 bit". Nel caso in cui qualcosa non si possa definire come numero intero di byte, si usa il bit (esempio: per un indirizzo di memoria a 36 bit si parla di "indirizzamento a 36 bit", non di "indirizzamento a 4,5 byte").

Un byte è una sequenza di 8 bit (ottetto) e rappresenta una unità di informazione digitale. Il simbolo del byte è la lettera "B" (maiuscola) ma, in caso di ambiguità di interpretazione del simbolo "B", si dovrebbe scrivere byte (per esteso).

Gli informatici francesi non usano il termine "byte" ma octet (ottetto) con simbolo "o" (minuscola); formalmente è corretto dire "ottetto", tuttavia il termine "byte", inteso come sequenza di 8 bit, è ormai universalmente accettato.
Storicamente, la dimensione del byte dipende dall'hardware sottostante e dalla codifica utilizzata per rappresentare l'informazione. Agli albori dell'Informatica sono stati usati byte formati da 4 bit (codifica BCD), 6 bit (codifica BCDIC) e 7 bit (codifica ASCII); il byte ad 8 bit è stato introdotto dall'IBM nel 1963 (codifica EBCDIC). Il formato ad 8 bit è diventato lo standard de facto del byte poiché i computer utilizzano l'indirizzamento binario della memoria ed 8 è una potenza di 2 (8=23), quindi quantità multiple di 8 si indirizzano con relativa semplicità; inoltre con 8 bit esistono 28=256 combinazioni distinte di 0 e 1, così un byte da 8 bit può codificare qualsiasi carattere alfabetico di ogni lingua occidentale (maiuscole, minuscole, caratteri accentati e diacritici), tutta la punteggiatura, i simboli matematici e molti simboli speciali. Tutto ciò rende la dimensione ad 8 bit ideale per identificare una unità di informazione digitale.
Il simbolo del byte è la lettera "B" (maiuscola) usata anche per il bel, un'unità di misura adimensionale usata per esprimere il rapporto di 2 grandezze omogenee. Nelle applicazioni pratiche (come acustica ed elettronica) si usa il sottomultiplo del bel chiamato decibel (un decimo di bel), il cui simbolo è dB; in acustica viene utilizzato per misurare la potenza di un suono, in elettronica per misurare il guadagno o l'attenuazione di un segnale. Il bel/decibel non fa parte del Sistema Internazionale di Misura, tuttavia l'uso è accettato in quanto di grande utilità tecnica. Non dovrebbero esistere 2 unità di misura con lo stesso simbolo ma l'utilizzo della "B" per il byte è consentito per due motivi: byte e bel/decibel si usano in ambiti completamente diversi ed inoltre non esiste il "decibyte" (quindi è impossibile ogni ambiguità del simbolo dB).

Sequenze binarie

Vi sarete chiesti cosa rappresenta il byte 01000001 in figura all'inizio di questa pagina:
  • è il carattere "A" (maiuscola) se lo interpretiamo come codifica dei caratteri ASCII estesa ad 8 bit;
  • è il numero 65 se lo interpretiamo come numero intero binario.
Questo ci dice due cose:
  1. una sequenza di bit non significa nulla se non sappiamo decodificarla;
  2. con un singolo byte non si può fare molto!
Per codificare informazioni complesse (parole, numeri, colori, immagini, musica, video ecc.) si utilizzano lunghissime sequenze di bit dette sequenze binarie; ciascuna sequenza è formata da un enorme numero (intero) di bit. Dati ed informazioni possono essere archiviati (quindi occupano spazio fisico su una memoria di massa) e/o trasmessi ad una certa velocità (quindi occupano "spazio" – chiamato banda passante – in un canale di comunicazione).

È necessario misurare in qualche modo le sequenze di bit/byte che rappresentano dati ed informazioni. A seconda di cosa si vuole misurare bisogna scegliere:
  • un'unità di misura base, che può essere il byte oppure il bit; il byte si usa generalmente per misurare lo spazio di archiviazione (dimensione di file, partizioni, dischi ecc.), mentre il bit per misurare la velocità di trasmissione dati oppure la densità di informazione;
  • una scala per rappresentare i multipli dell'unità di misura base: si può scegliere di usare la scala binaria (basata sul fattore moltiplicativo 1024) o la scala decimale (basata sul fattore 1000).
Potendo scegliere tra 2 diverse unità di misura base e 2 distinte scale, abbiamo 4 modi di misurare le sequenze binarie:
  1. unità byte, scala binaria;
  2. unità byte, scala decimale;
  3. unità bit, scala binaria;
  4. unità bit, scala decimale.

Unità di misura informatiche e Sistema Internazionale

Le unità di misura informatiche sono state formalizzate nel 1998 dallo standard IEC/ISO 80000. Esse non fanno parte del Sistema Internazionale di Misura perché il bit (e quindi il byte) non è una grandezza fisica: i bit si rappresentano utilizzando 2 distinti stati di altre grandezze (tensione elettrica, impulsi luminosi, polarizzazione magnetica ecc.). Per esempio, una tensione di 0 volt si può interpretare come il bit 0 e una di 1,5 volt come il bit 1, ma non esiste in natura la grandezza "bit". 

Precedente Indice Successivo