1.3 La rappresentazione delle informazioni

Un elaboratore, come tutti i dispositivi elettronici digitali1, è in grado di lavorare con una logica binaria, cioè basata su due soli stati logici: “0” e “1” (“falso” e “vero”, “spento” e “acceso”). In questo modo si riducono al minimo gli effetti del rumore di tipo termico ed elettromagnetico.

La rappresentazione “analogica” delle informazioni, cioè per mezzo di un segnale che ne rappresenti con continuità il valore, che è stata la prima forma utilizzata per la rappresentazione delle informazioni nei primi calcolatori, presenta un problema di fondo: l’estrema sensibilità del segnale ai disturbi elettromagnetici.2 Pensando infatti di avere un segnale di 3,27 V (Volt) che rappresenti appunto il valore 3,27, è estremamente probabile che esso venga alterato durante la sua comunicazione tra i vari circuiti elettronici che compongono il calcolatore, per effetto dell’accoppiamento di tipo elettromagnetico con altri componenti elettronici presenti nelle immediate vicinanze. Inoltre i dispositivi elettronici risentono anche dell’effetto del rumore dovuto alla deriva termica dei componenti: i circuiti hanno una variazione del livello della risposta in funzione della temperatura a cui si trovano. Dunque, visto che durante il loro funzionamento i dispositivi generalmente si riscaldano, essi variano la loro risposta, dando così luogo a valori diversi da quelli attesi. Ad esempio, se a freddo un circuito elettronico risponde con un valore di 3,27 V, dopo un po’ di tempo che esso è in funzione può rispondere alla stessa sollecitazione con il valore di 3,28 V.

La rappresentazione digitale delle informazioni, cioè per mezzo di segnali che rappresentano valori discreti (non continui), permette di ovviare a tali problematiche. Infatti, si supponga di avere un intervallo all’interno del quale si devono definire i livelli da associare ai vari stati logici. È evidente che per avere la massima distanza tra i livelli, è opportuno definirne il minimo numero possible (e, di conseguenza, avere il minimo numero di stati logici), in modo tale che i livelli siano alle due estremità dell’intervallo stesso. In pratica si ha a disposizione un intervallo di tensione, ad esempio tra 0 e 5 V (Volt); quindi i livelli di tensione associati ai due stati logici vengono fissati l’uno a 0 V, e l’altro a 5 V (v. fig. 1.2). Inoltre, si definiscono dei sottointervalli, intorno ai livelli associati agli stati logici, all’interno dei quali il valore di tensione è sempre riconosciuto come quello associato al livello in questione: ad esempio, il sottointervallo che si riferisce allo stato “0” è compreso tra 0 e 2 V, mentre il sottointervallo che si riferisce allo stato “1” è compreso tra 3 e 5 V; in questo modo, il valore che si riferisce allo stato “1”, trasmesso come 5 V dal circuito che lo emette, viene riconosciuto come tale dal circuito destinatario se questo riceve un segnale tra 3 e 5 V. Quindi il segnale può subire, sia nella generazione del valore stesso che nel suo percorso dal circuito emittente a quello destinatario, un eventuale degrado, dovuto al rumore, pari a 5 - 3 = 2 V. Un discorso analogo vale per lo stato logico “0”. La zona tra 2 e 3 V non è attribuita a nessuno stato logico, come muro di confine tra i due stati riconoscibili: un segnale il cui valore cade al suo interno non è attribuibile a nessuno stato, poiché esso potrebbe derivare sia da un segnale di partenza di 0 V che da uno di 5 V. In questo modo si ha un’elevata insensibilità al rumore all’interno di un intervallo di tensione di 5 V.


pict
Figura 1.2: Esempio di suddivisione di un intervallo in livelli.

Qualunque informazione gestita da un computer, di qualunque tipo essa sia (numerico, alfabetico, logico, ...), viene rappresentata utilizzando due sole valori numerici, “0” e “1”, ovvero in forma binaria.


  1.3.1 I sistemi di numerazione
   1.3.1.1 Richiami di matematica
   1.3.1.2 I numeri naturali
   1.3.1.3 I numeri interi negativi
   1.3.1.4 I numeri con parte non intera
  1.3.2 Bit, byte, nibble, word
  1.3.3 L’aritmetica binaria
   1.3.3.1 Somma
   1.3.3.2 Sottrazione
   1.3.3.3 Moltiplicazione
   1.3.3.4 Divisione
  1.3.4 La logica binaria
   1.3.4.1 Intersezione
   1.3.4.2 Unione
   1.3.4.3 Negazione
  1.3.5 L’ASCII
  1.3.6 ISO 8859-X, Unicode e UTF-8