
Libro 1 – Capitolo 2- La rappresentazione delle informazioni
La rappresentazione delle informazioni nel calcolatore
Argomenti:
- La rappresentazione delle informazioni nel calcolatore
- Sistemi di numerazione posizionali
- Operazioni con i numeri binari
- Sistema di numerazione esadecimale
- Il codice ASCII e la codifica UTF-8
- Numeri interi e reali nel sistema binario
Introduzione
In questo capitolo sono esaminati i fondamenti della rappresentazione delle informazioni nel calcolatore. La rappresentazione delle informazioni nel calcolatore da sempre avviene nel sistema binario, e attraverso dei modelli di rappresentazione è possibile rappresentare qualunque informazione nel calcolatore da informazioni di carattere numerico, testuale e anche multimediali.
Esamineremo in questo breve capitolo le caratteristiche più importanti di tali modello.
La rappresentazione delle informazioni nel calcolatore
I calcolatori a livello hardware lavorano in elettronica digitale, che è caratterizzata, dall’utilizzare segnali elettrici che possono avere solo due possibili di valori, 1 passaggio di corrente, 0 nessun passaggio di corrente.

Nella figura è rappresentato un segnale analogico che varia con continuità nel tempo assumendo infiniti valori, mentre nel secondo il segnale digitale può variare solo tra due livelli prefissati denominati nella figura “High” e “Low”.
Sistema di numerazione posizionale e il sistema di numerazione binario
Grazie a quest’associazione, si definisce il bit, come cifra elementare del sistema binario, un sistema di numerazione in base 2 e posizionale. Un sistema di numerazione è definito da una base e da un insieme di cifre. Se la base è B, l’insieme delle cifre che costituiscono il sistema di numerazione è I.C.={0,1,2,3…,B-1}.
E’ altresì definito posizionale, in quanto il valore numerico della cifra dipende dalla sua posizione.
Proviamo a raffrontare con un semplice schema il sistema di numerazione decimale e quello binario:
102 | 101 | 100 |
3 | 2 | 4 |
In decimale “trecentoventiquattro”;
22 | 21 | 20 |
1 | 0 | 1 |
In decimale 4+1=5;
Da questo semplice esempio si è ottenuto che per convertire un numero binario in decimale basta scriverlo come prodotto dei singoli bit per potenze decrescenti di 2, partendo per un numero di N bit, dalla potenza 2n-1.
In formule si ha:
bn bn-1 bn-2……. b0=2n-1* bn+2n-1* bn-1+….+20* b0
Con bn sono indicate i bit, del numero binario in posizione n, n-1, n-2,…ecc. leggendo il numero binario da sinistra verso destra. Inoltre non è facile dimostrare che il massimo numero naturale rappresentabile con n bit è pari a 2n-1. Quindi se il numero è composto da 8 bit ovvero un byte il massimo intero è 28-1=255.
In informatica l’unità elementare di informazione è costituita dal byte, che come detto in precedenza è anche utilizzato come unità di misura delle capacità di memoria con i suoi multipli.
Codifica da Decimale a Binario
Per la codifica viene adoperato un metodo molto semplice basato sui seguenti passi:
- Sia N il numero decimale da convertire, si effettua la divisione per 2 del numero.
- Se il quoziente maggiore o uguale a 2 si procede ad una nuova divisione per 2 del quoziente
- Se il quoziente è già minore di 2 allora il numero binario è ottenuto assegnando come cifra più significativa l’ultimo quoziente e i rimanenti resti come cifre successive.
- Se il quoziente è già minore di 2 allora il numero binario è ottenuto assegnando come cifra più significativa l’ultimo quoziente e i rimanenti resti come cifre successive.
Supponiamo a titolo di esempio di voler trasformare il numero decimale 213 in binario, seguendo la procedura sopra descritta:
Numero N | Base 2 |
213 | 2 |
0 | 53 |
1 | 26 |
0 | 13 |
1 | 6 |
0 | 3 |
Nella prima colonna sono visualizzati i resti in giallo, mentre nella seconda colonna in giallo è visualizzato l’ultimo quoziente. Pertanto la codifica è: 11010101(2).
Operazioni con i numeri binari
Il sistema di numerazione binario, possiede come ogni altro sistema di numerazione posizionale, le operazioni aritmetiche fondamentali somma, differenza, moltiplicazione, divisione.
Tutte le operazioni sono eseguite tenendo conto che il sistema binario lavora solo su due cifre “0” e “1”.
Riassumiamo mediante una tabella le regole per le prime tre operazioni, e in seguito analizzeremo l’operazione di divisione.
Operazione | Regole per le operazioni | Esempi |
Somma | 0+0=0 1+0=0 0+1=1 1+1=0 con riporto 1 | 1 1001+ 1101= 10110 Il riporto è sulla seconda cifra. La somma è svolta fra 9 e 13 in decimale e il risultato decimale è 22. |
Differenza | 0-0=0 1-0=0 1-1=0 0-1=1 con prestito | 0 1010- 1001= 0001 Il secondo bit da destra presta un bit al bit LSB che permette di eseguire la sottrazione. E’ utile notare che la sottrazione fra numeri naturali può avvenire solo nel caso il primo numero binario è maggiore o uguale al secondo numero (sottraendo >= minuendo) |
Prodotto | 0 x 0=0 1 x 0=0 0 x 1=0 1 x 1=1 | 1011x 11×5=55 101= 1011+ 00000+ 101100= riporto 1 su quinta cifra 110111 |
Divisione | 1 / 1=1 0 / 1 =0 | 1011 : 101 101 10 0001 La divisione si svolge abbassando tanti bit in modo che il numero sia maggiore o uguale del divisore. SI moltiplica il quoziente che è 0 o 1 al divisore e si sottrae al dividendo. Si ripete il procedimento fin quando il divisore è maggiore o uguale del dividendo. In questo caso rimane un solo bit e quindi l’ultima cifra del quoziente è 0. Il risultato finale è quoziente pari a 10 e resto pari a 1. |
Il sistema di Numerazione Esadecimale
Come si è visto, il sistema di numerazione binario, rappresenta numeri decimali anche piccoli, con un gran numero di cifre binarie, e quindi poco si presta a rappresentare numeri molto grandi. Per ovviare a questo problema si introduce il sistema di numerazione posizionale esadecimale con base B=16 e le cui cifre sono costituite dalle cifre numeriche e dalle prime 6 lettere dell’alfabeto; quindi I.C.={0,1,2,3..,9,A,B,C,D,E,F}.
Alle lettere dell’alfabeto si attribuiscono i valori da 10 a 15.
Per codificare in esadecimale, si usa lo stesso procedimento della codifica di numero decimale in binario, con la differenza che la base che è il divisore dell’operazione è 16.
Esiste poi la possibilità di codificare dal sistema esadecimale a quello binario e viceversa, senza passare per la conversione in decimale, basta memorizzare o ricorrere alla seguente tabella:
Numero Decimale | Numero Esadecimale | Numero Binario |
0 | 0 | 0000 |
1 | 1 | 0001 |
2 | 2 | 0010 |
3 | 3 | 0011 |
4 | 4 | 0100 |
5 | 5 | 0101 |
6 | 6 | 0110 |
7 | 7 | 0111 |
8 | 8 | 1000 |
9 | 9 | 1001 |
10 | A | 1010 |
11 | B | 1011 |
12 | C | 1100 |
13 | D | 1101 |
14 | E | 1111 |
15 | F |
Puoi abbonarti al link al menù principale o cliccando sul link Abbonati Ora!