RAPPRESENTAZIONE DELL'INFORMAZIONE Il primo problema da risolvere nel trattamento automatico dell'informazione riguarda la scelta di come rappresentare l'informazione. L'informazione deve essere rappresentata usando un numero finito di simboli che siano sempre attendibili, cioè non devono alterarsi durante il loro utilizzo, e facilmente distinguibili l'uno dall'altro. Per questo motivo l'insieme dei simboli deve essere il più piccolo possibile. I simboli utilizzabili possono assumere una grande varietà di forme (numeri, lettere, voltaggi elettrici, ecc.), comunque è ovvio che l'insieme più piccolo possibile deve contenere almeno due simboli che possono essere per esempio spento/acceso, 0/1, sì/no, ecc.
CODICE BINARIO Nel trattamento automatico dell'informazione si utilizza universalmente il codice binario, che è costituito solo da due simboli, o cifre, 0 e 1. Sulla base di questo codice si costruisce tutta la rappresentazione dell'informazione. Dalla contrazione di cifra binaria, binary digit, nasce il termine bit. In generale, tutta l'informazione all'interno dell'elaboratore è rappresentata mediante un raggruppamento adiacente di un certo numero di bit, denominato anche stringa di bit. In ambito informatico si considera precisamente una stringa di otto bit, che prende il nome di byte.
BIT e BYTE Tutta l'informazione all'interno di un elaboratore è rappresentata mediante il codice o alfabeto binario, cioè utilizzando solo due simboli: 0 e 1. Questi sono gli unici simboli ammessi e riconoscibili dall'elaboratore. Ogni informazione viene memorizzata nell'elaboratore mediante un insieme di bit, pertanto il bit rappresenta l'unità fondamentale di memorizzazione. Per assicurare la compatibilità tra i diversi elaboratori e i dispositivi di comunicazione di dati, a livello universale sono state emanate delle norme di codifica di tutti i simboli utilizzabili da tastiera o dai diversi programmi (codice ASCII - American Standard Code for Information Interchange). Ogni nazione utilizza una tabella di codici che comprende un certo numero di simboli diversi, per esempio tutti i caratteri e i simboli di punteggiatura presenti sulla tastiera italiana, francese, tedesca, ecc., di un computer. Tutti questi simboli devono essere codificati in tante stringhe binarie diverse per poter essere trattati dall'elaboratore; poiché occorrono almeno 8 bit per tale codifica, è stato introdotto il concetto di byte.
BYTE Un byte indica semplicemente una stringa di 8 bit mediante il quale è possibile rappresentare un qualsiasi simbolo del codice ASCII. Ogni byte è equivalente a un carattere, sia esso una lettera, un numero, un simbolo di punteggiatura o un carattere speciale. Un documento memorizzato su elaboratore costituito per esempio da 3.000 caratteri, avrà una dimensione di circa 3.000 byte. I byte vengono utilizzati per misurare lo spazio occupato dai supporti di memorizzazione (disco, nastro, ecc.). In questo caso parleremo di migliaia e milioni di byte e utilizzeremo unità di misura più grandi.
I seguenti termini sono identici: UNITÀ DI MISURA Unità Simbolo rappresentativo Equivale a: Bit - simbolo che può essere 0 o 1 Byte - 8 bit Kilobyte KB 1024 byte Megabyte MB 1024 KB Gigabyte GB 1024 MB Terabyte TB 1024 GB Ad esempio, un disco di dimensione 650 MB può contenere circa 650 milioni di caratteri. I seguenti termini sono identici: 1,2 MB = 1.228,8 KB = 1.258.291 byte
BYTE Il byte è l'unità di misura per qualsiasi tipo di documento, immagine, testo, ecc., memorizzato all'interno di un elaboratore. Un byte corrisponde allo spazio occupato per rappresentare un singolo carattere. Il bit preso singolarmente non rappresenta nessuna informazione, il byte invece rappresenta un carattere e quindi una singola informazione. il byte, pertanto, è l'unità fondamentale di informazione.
CODIFICA ASCII Nel trattamento automatico dell'informazione si utilizza universalmente il codice binario, che è costituito solo da due simboli, o cifre, 0 e 1. Sulla base di questo codice si costruisce tutta la rappresentazione dell'informazione. In generale, la rappresentazione dei dati viene effettuata attraverso la CODIFICA, ovvero l’associazione di una stringa binaria di 8 bit (BYTE) ad un simbolo qualsiasi utilizzabile su computer (numero, lettera, punteggiatura, ecc.) La codifica più diffusa è rappresentata dal codice ASCII (American Standard Code for Information Interchange). Questo codice rappresenta tutti i simboli diversi ottenuti con tutte le possibili combinazioni di 8 bit, ovvero con 28 = 256 byte. In particolare, è costituito da una tabella suddivisa in due parti: 0 a6a5 ... a0 Tutti i simboli che danno informazione (numero, lettera, punteggiatura, ecc.) sono codificati da byte con il primo bit di sinistra uguale 0, ovvero codici che vanno da 0000000 01111111 (da 0 a 127). 1 a6a5 ... a0 Tutti i simboli grafici particolari sono codificati da byte con il primo bit di sinistra uguale 1, ovvero codici che vanno da 10000000 a 11111111 (da 128 a 255).
2n stringhe binarie distinte di lunghezza n n BIT Si può dimostrare (per induzione) che utilizzando n bit, è possibile rappresentare fino a 2n stringhe binarie distinte di lunghezza n. n bit 2n stringhe binarie distinte di lunghezza n
n=1 con un bit possiamo rappresentare 21=2 stringhe di lunghezza 1 CODIFICA Esempio n=1 con un bit possiamo rappresentare 21=2 stringhe di lunghezza 1 1 00 01 10 11 n=2 con due bit possiamo rappresentare 22=4 stringhe di lunghezza 2 n=3 con tre bit possiamo rappresentare 23=8 stringhe di lunghezza 3 00 01 10 11 1 00 01 10 11 n bit 2n stringhe binarie distinte di lunghezza n
CODIFICA La rappresentazione dell'informazione, o codifica, consiste nell'assegnazione di una stringa distinta di simboli a ciascun oggetto o carattere distinto che vogliamo rappresentare. Iniziamo con il problema della codifica delle 10 cifre decimali, 0,1,..9, utilizzando stringhe di bit di lunghezza fissa. Poiché 23=8<10 e 24=16>10, per tale codifica 3 bit risultano insufficienti, infatti occorrono necessariamente 4 bit.
I NUMERI BINARI Data una stringa binaria an-1an-2...a0 di n bit, possiamo rappresentare 2n stringhe binarie diverse, ovvero tutti i numeri interi decimali che vanno da 0 a 2n-1. Esempio Data una stringa binaria di 3 bit, possiamo rappresentare tutti i numeri interi decimali che vanno da 0 a 23-1=7.
RAPPRESENTAZIONE BINARIA IN MODULO E SEGNO Per semplicità abbiamo considerato finora solo i numeri positivi, vediamo invece come si comporta la numerazione binaria nel caso dei numeri negativi. Nella rappresentazione binaria con segno si utilizza il bit più a sinistra della stringa binaria per rappresentare il segno positivo o negativo. In particolare, data una stringa binaria an-1an-2 ... a0 di n bit, il bit più a sinistra an-1 è utilizzato per denotare il segno 0 per non negativo e 1 per negativo, mentre i rimanenti bit an-2 ... a0 sono utilizzati per denotare la parte numerica: an-1 an-2 ... a1 a0 bit del segno parte numerica Esempio: Il numero binario positivo 111 corrisponde al decimale: 1x22 + 1x21 + 1x20 = 7 Il numero binario negativo 111 corrisponde al decimale: - (1x21 + 1x20) = -3
1 1 parte numerica bit del segno parte numerica ESEMPIO Il numero binario positivo 1111 corrisponde al numero decimale: 1x23 + 1x22 + 1x21 + 1x20 = 15 In questa modalità, con 4 bit posso rappresentare 16 numeri decimali diversi, ovvero tutti i numeri da 0 a 15. 1 parte numerica Il numero binario negativo 1111 corrisponde al numero decimale: - (1x22 + 1x21 + 1x20 ) = -7 1 bit del segno parte numerica In questa modalità, con 4 bit posso rappresentare 15 numeri decimali diversi, ovvero tutti i numeri da -7 a +7.
Rappresentazione binaria in modulo e segno I bit an-2...a1a0 più a destra della stringa rappresentano il valore assoluto del numero e quindi tale rappresentazione può essere denominata rappresentazione binaria in modulo e segno. Dati n bit e considerando solo numeri interi, la rappresentazione in modulo e segno per n bit permette di rappresentare tutti i numeri interi che vanno da -(2n-1-1) a +(2n-1-1). Esempio Data una stringa binaria di 3 bit nella notazione modulo e segno a 3 bit possiamo rappresentare tutti i numeri interi che vanno da -(23-1-1)=-3 a +23-1-1=+3.