Informatica e bit e byte

Informatica e informazione

“L’informatica è la disciplina che si occupa della codifica, della memorizzazione, della trasmissione e dell’elaborazione dell’informazione!” Si consideri per INFORMAZIONE : “Ogni elemento conoscitivo che è possibile acquisire e comunicare ”. Elemento conoscitivo la cui misura può essere l’uomo, cioè è una teoria, nell’accezione scientifica!

Nella vita di tutti i giorni siamo abituati ad avere a che fare con vari tipi di informazione, di natura e forma diversa, così come siamo abituati a diverse rappresentazioni della stessa informazione. L’informazione contenuta in un testo, ad esempio, può essere espressa in forma stampata, oppure può essere espressa verbalmente o registrata su un CD. È abbastanza naturale, quindi, pensare a rappresentazioni equivalenti della stessa informazione e a delle funzioni di trasformazione da una rappresentazione all’altra. Ad esempio, sempre pensando ad un testo, è ovvio che è possibile trascriverlo data la sua registrazione, e viceversa.

Bit

La scelta di una determinata rappresentazione è in genere una scelta convenzionale, ma talvolta ci sono dei vincoli che devono essere rispettati. Nella rappresentazione delle informazioni all’interno degli elaboratori è indispensabile una rappresentazione binaria (o digitale) delle informazioni. Il linguaggio di base mediante il quale ogni informazione deve essere codificata è costituito da due simboli, di solito “0” e “1“.

L’unità di misura bit che è l’abbreviazione di “BInary digiT” ovvero numero o cifra binaria formato da 0 e 1, rappresenta elettricamente lo stato di acceso spento o presenza- mancanza di segnale, cosa che la macchina “capisce”, per così dire. Ecco perché il sistema binario sta alle basi dell’informatica. Il bit è la più piccola unità e la più importante per misurare velocità e capacità di memoria di un qualsiasi computer. I bit non possono essere modificati secondo la volontà dell’utente cioè non possiamo cambiarlo di stato facendolo passare ad esempio dallo stato 0 allo stato1, a questo compito provvede solo l’elaboratore.

Un bit assume solo i seguenti stati

0= spento, tensione assente;

1=acceso, tensione presente;

Byte

Un altro termine fondamentale per la memoria è il byte che è una parola creata apposta per il mondo tecnico dei computer. La pronuncia e il significato è legata al bit, si tratta infatti di una sequenza di otto bit ed essa rappresenta la più piccola quantità di memoria modificabile dall’utente.

Dunque il funzionamento del computer si basa sulla presenza/assenza di segnale elettrico all’interno dei circuiti che lo compongono. Tutti i dispositivi di memoria sono basati su questa bipolarità del segnale.

  • la memoria RAM è costituita da microcelle in grado di caricarsi/scaricarsi di elettricità;
  • la memoria ROM da contatti elettrici presenti/assenti;
  • dischi da microelementi in grado di magnetizzarsi /smagnetizzarsi
  • i CD da microelementi riflettenti/opachi

Codifica

Il passo successivo è la CODIFICA; è chiaro che per la rappresentazione codificata dell’informazione serve un accordo tra le parti emittente e ricevente, chiamata PROTOCOLLO, cioè il modo in cui devono comunicare e sul SIGNIFICATO da dare alle sequenze di simboli (0,1 nel nostro caso, ma vale per tutti i linguaggi).  Più tale convenzione è vasta maggiore sarà il numero dei possibili utilizzatori. L’alfabeto è un esempio di codifica!

Ora Mediante un bit è possibile rappresentare due informazioni, ognuna delle quali viene fatta corrispondere convenzionalmente ad uno dei due stati “0” e “1” per i motivi precentemente esposti.

Per poter rappresentare un maggior numero di informazioni differenti, è quindi necessario usare sequenze di bit, combinazioni di essi. Si faccia riferimento, ad esempio, ad una sequenza di due bit. Possiamo pertanto affermare che con un’aggregazione di due bit possiamo avere quattro configurazioni distinte:

00  01 10 11

Per aumentare la capacità di rappresentazione si utilizzano insiemi ordinati di bit (sequenze di bit), di dimensione N fissa, trattati dall’elaboratore come un unico oggetto.

Indichiamo con E l’ insieme composto dagli M elementi che si desidera rappresentare mediante sequenze binarie.

Indichiamo con A={0,1} l’insieme composto dai valori 0 ed 1, e con AN l’insieme delle Nuple  

 bN1 , b N2 , … , b 0   con b i є A.

Si chiama codifica la funzione f: E→AN che associa una sequenza bN1 , b N2 , … , b 0    di N bit ad un elemento e є E.

La funzione inversa di f si chiama decodifica. Essa consente di risalire, a partire da una sequenza di bit, all’oggetto rappresentato.

Nel caso di aggregazioni di tre bit si hanno otto configurazioni possibili:

000      001      010       011       100      101      110      111

che permettono di codificare otto informazioni.

Riassumendo: con un bit si possono codificare 2=21 informazioni; con due bit 4=22 informazioni; con tre bit 8=23 informazioni. Procedendo in modo analogo si verifica facilmente che con un’aggregazione di N bit si possono codificare 2N informazioni differenti.

Rappresentazioni

Vediamo ora il problema dal punto di vista opposto. Supponiamo cioè di voler rappresentare M informazioni differenti, ad esempio un alfabeto con M simboli, e chiediamoci quanti bit sono necessari per la codifica di queste informazioni. Sarà necessario selezionare il numero di bit N in modo tale che 2N≥M. In questo modo vi sarà almeno una configurazione da far corrispondere ad ognuno degli M simboli; si noti che alcune configurazioni saranno inutilizzate se 2N>M. Ad esempio, dovendo rappresentare 57 informazioni è necessario utilizzare aggregazioni di sei bit, essendo 26=64>57. Utilizzando un bit in meno, infatti, si avrebbero solo 25=32 configurazioni che non sono sufficienti per codificare tutte le informazioni. Quindi per codificare M simboli ho bisogno di:

2N≥M → N ≥ log2M

Il termine MSB (Most Significant Bit) indica il bit più a sinistra di una sequenza; il termine LSB (Least Significant Bit) quello piu’ a destra.

In informatica sono considerate le seguenti codifiche:

  • caratteri: codifica ASCII, UNICODE, UCS, UTF‐8
  • valori Booleani
  • interi positivi: codifica mediante Sistema di Numerazione Posizionale
  • numeri interi con segno: codifica in Modulo e Segno, Complemento a 2
  • reali: codifica in virgola mobile
  • la codifica delle immagini
  • la codifica degli oggetti audio e video