Codifica binaria dei dati

Rappresentazione dati

I computer rappresentano e memorizzano le informazioni utilizzando dei componenti elettronici che possono assumere solamente due stati: acceso o spento, proprio come un interruttore. L’informazione che può essere memorizzata in tale tipo di componenti è la più semplice che possa essere memorizzata in un sistema informatico ed è chiamata bit. Questo significa che ogni tipo di informazione che possiamo vedere su internet o conservare in una memoria elettronica deve essere rappresentata utilizzando un adeguato numero di bit.

A questo punto, il passaggio più ovvio è quello di rappresentare tipologie di dato che si possono trovare in due stati solamente, come:

  • Nero/bianco
  • Maschio/femmina
  • Nord/sud
  • 1/0

Persino se facciamo riferimento ad esempi così semplici, emerge un problema di fondamentale importanza: non abbiamo modo di sapere se un particolare frammento di informazione debba essere rappresentato con un interruttore acceso o spento. Ad esempio, se intendiamo rappresentare degli uno o degli zeri, potremmo utilizzare una codifica come quella mostrata di seguito.

logica positiva
1 ACCESO
0 SPENTO

O potremmo usare la seguente codifica, che è effettivamente utilizzata in alcuni dispositivi elettronici.

logica negativa
0 ACCESO
1 SPENTO

Questo significa che tutte le persone che hanno bisogno di utilizzare un certo tipo di dato devono condividere un accordo sulle regole da utilizzare sulla sua codifica e sulla sua decodifica. Perché, in caso contrario, chi riceve l’informazione non avrà modo di comprendere il suo significato.

Se abbiamo bisogno di rappresentare tipologie di dato che possono assumere più di due stati, dobbiamo utilizzare più di un bit. Ad esempio, se vogliamo codificare i quattro punti cardinali, potremmo utilizzare le seguenti combinazioni di 2 bit.

Nord 00
Est 01
Sud 10
Ovest 11

Ogni volta che aggiunguamo un bit, le possibili combinazioni inerenti alla nuova configurazione potranno essere calcolate a partire dalla vecchie combinazioni, ripetendo le stesse due volte. La prima volta aggiungendo uno zero a sinistra e la seconda volta aggiungendo un uno. Per esempio, se prendiamo come punto di partenza le combinazioni ottenibili da due bit, abbiamo le seguenti:

00
01
10
11

Ma , aggiungendo un altro bit, otteniamo il seguente risultato.

bit
aggiunto
bit
originali
risultato
0 00 000
01 001
10 010
11 011
1 00 100
01 101
10 110
11 111

Questo significa che, ogni volta che aggiungiamo un bit, il numero totale delle combinazioni risulta raddoppiato. In generale, la formula che deve essere utilizzata per eseguire il calcolo, è la seguente.

stati=2^{bits}

Ovviamente, se abbiamo bisogno di sapere quanti bit sono necessari per rappresentare un dato che può trovarsi in un certo numero di stati, dobbiamo utilizzare la seguente formula inversa.

bits=log_2(stati)