L informazione
L informazione si può:
– rappresentare – elaborare
– gestire
– trasmettere – reperire
L informatica offre la possibilità di effettuare queste operazioni in modo automatico.
L informazione (ad es. il valore di grandezze fisiche come tempo, temperatura, massa, ecc.) può essere
rappresentata in forma continua (analogica) o discreta (digitale).
Informazione analogica e digitale
Digit (Inglese) = cifra
Informazione analogica e digitale
Lettura analogica:
i valori variano con continuità fra un minimo e un massimo
Lettura digitale:
c è un numero finito di valori fra il minimo e il massimo
4
CAMPIONAMENTO
5
QUANTIZZAZIONE
La codifica dell ’ informazione
• COME possiamo rappresentare un’informazione di tipo DIGITALE ?
• Come possiamo CODIFICARE un’informazione di tipo digitale ?
• Il modo di rappresentare le informazioni è detto codifica delle informazioni.
La codifica dell informazione
Se abbiamo un alfabeto con 20 lettere quante parole diverse possiamo formare utilizzando ad esempio due sole lettere?
AA, AB, GH, SP, ....
Ci sono in pratica 202 = 400 combinazioni diverse.
• Le parole che usiamo per parlare e scrivere, ad esempio, sono codificate attraverso le lettere dell alfabeto
La codifica dell informazione
Con parole da tre lettere avremmo 203 = 8000 combinazioni diverse:
AAB, DFR, GGH, ecc.
Con un alfabeto con 6 lettere soltanto avremmo bisogno di parole da 5 per poter formare un
numero simile di combinazioni: 65 = 7776 Diminuendo il numero di lettere aumenta la
lunghezza delle parole che posso formare a parità di numero di combinazioni
La codifica dell informazione
Se abbiamo un sistema numerico a dieci simboli, quante combinazioni diverse possiamo formare utilizzando ad esempio due sole cifre?
11, 12, 45, 54, ....
Ci sono in pratica 102 = 100 combinazioni diverse (da 00 a 99).
Altri codici si possono costruire usando i numeri naturali (numeri interi: 1, 2, 3, ecc.)
La codifica dell informazione
Con il sistema numerico in base 10 e numeri da tre cifre avremmo 103 = 1000 combinazioni diverse (da 000 a 999).
Con un sistema numerico in base 4 avremmo
bisogno di numeri da cinque cifre per avere 45 = 1024 combinazioni diverse (da 00000 a 33333).
La codifica dell informazione
Il numero minimo di cifre per costruire un sistema di numerazione è due (sistema binario).
Se abbiamo un sistema numerico a due simboli (0, 1), quante combinazioni diverse possiamo formare
utilizzando ad esempio due sole cifre?
Ci sono in pratica 22 = 4 combinazioni diverse:
00, 01, 10, 11
utilizzabili, ad esempio, per rappresentare i numeri interi da zero a tre.
La codifica dell informazione
Con il sistema numerico in base 10 ci bastano numeri da tre cifre per avere 103 = 1000
combinazioni diverse (da 000 a 999).
Con un sistema numerico in base 4 avremmo bisogno di numeri da cinque cifre per avere 45 = 1024
combinazioni diverse (da 00000 a 33333).
Con il sistema binario avremmo bisogno di numeri da dieci cifre per avere 210 = 1024 combinazioni diverse (da 0000000000 a 1111111111).
Quindi:
La codifica dell informazione
Per rappresentare i numeri da 000 a 999 con una codifica di tipo binario dobbiamo necessariamente usare sequenze di 10 cifre (da 0000000000 a
1111111111.
Riassumendo….
Il Sistema Numerico Binario
I moderni calcolatori utilizzano il
sistema numerico binario (1 e 0), messo a punto da George Boole, per poter rappresentare
un informazione che può essere un numero o una lettera.
Poiché lo stato di molti dispositivi è definibile senza errori utilizzando solo due alternative, è naturale pensare di adottare il sistema binario nell elaborazione automatica dell informazione:
– La lampadina (accesa o spenta) – La porta di casa (aperta o chiusa)
– Il motore della macchina (acceso o spento)
Perchè i PC si basano su una codifica di
tipo binario?
I più comuni sono:
• Sistema decimale
• Sistema binario
• Sistema ottale
• Sistema esadecimale
Conversioni tra Sistemi Numerici
Il sistema di numerazione decimale che usiamo normalmente è
posizionale, cioè il valore di ogni cifra dipende dalla sua posizione nel numero.
Sistema di numerazione posizionale
Per un numero scritto in notazione decimale (es: 23) abbiamo:
23 = due decine più tre unità, ossia: 23 = 3x100 +2x101
4132 = 2x100 + 3 x101 + 1x102 +4x103
1 = uno, 11 = undici; 9 = nove, 99 = novantanove.
• In modo analogo al sistema decimale, le cifre del
sistema binario 0 e 1 assumono un valore posizionale nella scrittura del numero binario con riferimento alle potenze di 2, anziché alle potenze di 10.
• Conversione binario-decimale:
Si moltiplica ciascuna cifra binaria partendo da destra per la corrispondente potenza di 2 e si sommano i
prodotti ottenuti.
Il Sistema Numerico Binario
Esempi:
101 = 1x20 + 0x21 + 1x22= cinque
1110 = 0x20 + 1 x21 + 1x22 + 1x23 = qua5ordici
Conversione decimale binario
Si divide il numero dato per 2 e si scrive il resto, che può essere 0 o 1;
Il quoziente ottenuto viene a sua volta diviso per 2 ottenendo un nuovo resto.
Si prosegue fino a quando si ottiene come quoziente il numero 0.
Il Sistema Numerico Binario
• Per esempio , la trasformazione del numero decimale 35:
• QuozienA ResA 35
17 1 8 1
4 0 2 0
1 0 0 1
100011
235
10=
Il sistema ottale si chiama così perché utilizza 8 cifre nella rappresentazione dei numeri: 0,1,2,3,4,5,6,7.
Le regole per la conversione di un numero ottale in decimale e da decimale ad ottale sono analoghe al sistema binario
Il Sistema Ottale
esempio: trasformazione del numero o5ale 325 in numero decimale:
Viceversa trasformazione del numero decimale 1602 in numero o5ale
QuozienA ResA
80 ! 5 + 81 ! 2 + 82 ! 3 = 5 +16 +192 = 213
1602 200 2 25 0
3 1 0 3
8
10
3102
1602 =
Il sistema esadecimale utilizza 16 cifre:
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
Quindi la lettera A rappresenta il numero decimale 10 in esadecimale, B il numero 11, C il numero 12, D il
numero 13, E il numero 14, F il numero 15. Il valore delle cifre dipende dalla posizione nella scrittura del numero secondo le potenze di 16
Il Sistema Esadecimale
Esempio: trasformazione del numero esadecimale 3AF2 in numero decimale:
160 ! 2 +161 !15 +162 !10 +163 ! 3 = 15090
Trasformazione del numero decimale 16034 in numero esadecimale:
QuozienA resA
160341002 2 2 62 10 A
3 14 E 0 3 3
16
10
3 2
16034 = EA
Nelle operazione di conversione dei numeri da un sistema all’altro, è conveniente ricordare le seguenA tabelle:
Binario Ottale 000
001 010 011 100 101 110 111
0 1 2 3 4 5 6 7
Binario Esadecimale 0000
0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
0 1 2 3 4 5 6 7 8 9 A B C D E F
Regole di conversione binario/ottale/
esadecimale
Da binario ad o5ale
Si raggruppano le cifre del numero binario a gruppi di tre a par+re da destra, e si trasformano le cifre di ciascun gruppo nel corrispondente numero o5ale secondo la tabella
precedente.
Es.: il numero binario 1011110111 Si può scrivere come:
1 011 110 111 1 3 6 7
8
2
1367
1011110111 =
Da o5ale a binario
Si fa corrispondere a ciascuna cifra o5ale che
compone il numero un gruppo di tre bit secondo la tabella precedente.
Es.: dato il numero o5ale 625 si può scrivere:
6 2 5 110 010 101
2 8
110010101 625 =
Quindi:
Da binario a esadecimale
Si raggruppano le cifre del numero binario a gruppi di qua/ro a parAre da destra e si trasformano le cifre di ciascun gruppo nel corrispondente numero esadecimale secondo la tabella di conversione
Es.: il numero binario 1011110111 Si può scrivere come
10 1111 0111
2 F 7
Quindi:
1011110111 = 2F7 2 16Da esadecimale a binario
Si fa corrispondere a ciascuna delle cifre
esadecimale che compongono il numero un gruppo di qua/ro bit secondo la tabella di conversione.
Es.: dato il numero esadecimale C3B
C 3 B1100 0011 1011
Quindi:
2 16 110000111011 3B =
C
L unità di misura del mondo digitale: il bit
• Il bit (binary digit): unità minima
dell informazione digitale, una singola cifra 0 o 1
• 1 bit: la quantità di informazione fornita dalla scelta tra due diverse alternative
Le parole digitali
Un insieme di bit forma una parola digitale:
110010110001…
Come abbiamo visto, il numero di parole diverse che possiamo formare con n bit è 2n
Le parole digitali
Analogamente al nostro linguaggio, il significato di una parola digitale dipende dall ordine in cui si
incontrano i caratteri:
da e ad sono due parole diverse, come lo sono 10 e 01
Le parole digitali
Abbiamo visto come costruire un sistema di
numerazione posizionale in base due (sistema binario):
0112 = 310, 1012 = 510, ecc.
Abbiamo anche capito che possiamo usare i due simboli binari per costruire un codice qualunque:
011 = H, 101 = W, ecc.
In questo modo non solo i numeri, ma anche le informazioni di tipo testo sono rappresentate
internamente al computer usando il codice binario.
Il codice ASCII (American Standard Code for Information Interchange)
• E una tabella che associa le diverse combinazioni che si possono formare con 7 bit (che sono 2^7=128) ai
simboli usati nell alfabeto latino, ai principali segni di interpunzione e ad alcuni caratteri speciali
• Il codice decimale va da 0 a 127 quello binario da 0 a 1111111
• Oltre al codice ASCII standard o stretto, esiste anche un codice esteso a 256 caratteri
Il codice ASCII
Il codice ASCII
Il codice ASCII
Il codice ASCII
Ad esempio, in questo
codice alla combinazione 10000012 (= 6510 ),
corrisponde il carattere A ecc..
L unità di misura del mondo digitale: il bit
• Il bit (binary digit): unità minima
dell informazione digitale, una singola cifra 0 o 1
• 1 bit: la quantità di informazione fornita dalla scelta tra due diverse alternative
Il Byte
1 Byte = 8 bit (1 bit quantità di informazione fornita dalla scelta tra due solo possibilità).
1 Byte può codificare 28 diverse possibilità: 256 combinazioni diverse di 0 e 1. (quantità di
informazione fornita dalla scelta tra 256 possibilità)
Grandezza Valore Circa 1KiloByte (KB) 210 = 1024 Byte 103 Byte 1 Mega (MB) 220= 10242= 1024 KB 106 Byte 1 Giga (GB) 230= 10243= 1024 MB 109 Byte 1 Tera (TB) 240= 10244= 1024 GB 1012 Byte 1 Peta (PB) 250= 10245= 1024 TB 1015 Byte
Unità di misura della memoria
Unità di misura della memoria
bit 1 cifra binaria memorizza 0 oppure 1
byte 8 bit memorizza un carattere
Kilobyte (KB) 1024 byte circa mezza pagina di testo
Megabyte (MB) 1024 KB un libro di 200 pagine
Gigabyte (GB) 1024 MB alcuni volumi
Terabyte (TB) 1024 GB una biblioteca
Petabyte (PB) 1024 TB molte biblioteche
Lunghezza della parola di un calcolatore
• Oltre ai dati numerici e al testo, anche le istruzioni elementari che la CPU è in grado di eseguire (somma, differenza, memorizzazione, ecc.) sono codificate in binario.
• Ogni elaboratore usa una stringa di bit di lunghezza definita (parola) per codificare le istruzioni, gli
indirizzi delle celle di memoria, ecc.
• Elaboratori diversi possono avere parole di lunghezza diversa (8 bit, 16 bit, 32 bit, 64 bit).
Rappresentazione dei numeri in un calcolatore
• Quanti bit sono usati normalmente per
rappresentare i numeri, per esempio i numeri interi?
• Questo dipende dal tipo di elaboratore, ma si può
anche stabilire in un linguaggio di programmazione di alto livello.
• Tipicamente i numeri interi sono rappresentati (e memorizzati) con 16 o 32 bit, mentre i numeri reali con 32 o 64 bit).
Codici a lunghezza fissa
In generale, con N cifre a disposizione e base b, il
numero più grande (intero positivo) rappresentabile si può esprimere come
bN – 1
Esempio: N =4
– In base 10: 9999 = 104 - 1 – In base 2: 1111 = 24 - 1
– In base 16: FFFF = 164 - 1 – In base 8: 7777 = 84 - 1
Codici a lunghezza fissa
Se si usa un numero prestabilito di cifre si ha.
quindi, un codice a lunghezza fissa.
In questo modo si pone anche un limite al numero massimo rappresentabile.
Esempio: qual è il numero più grande rappresentabile con 4 cifre?
– In base 10: 9999
– In base 2: 1111 (=1510)
– In base 16: FFFF (=6553510) – In base 8: 7777 (=409510)
Operazioni su numeri binari
Addizione:
0 + 0 = 0 con riporto 0 0 + 1 = 1 con riporto 0 1 + 0 = 1 con riporto 0 1 + 1 = 0 con riporto 1
1 + 1 = 1 0
1 0 1 + 1 1 = 1 0 0 0
1 0 1 1 0 1 0 1 + 1 0 0 0 1 1 0 = 1 1 1 1 1 0 1 1
1 1 1 + 1 1 = 1 0 1 0 Esempi:
Cosa succede se il risultato di un operazione supera il valore massimo rappresentabile con la lunghezza del codice utilizzato?
Operazioni su numeri binari
Operazioni su numeri binari
Consideriamo la seguente operazione aritmetica,
immaginando di avere un codice a lunghezza fissa con tre cifre binarie (3 bit):
5 + 4 = 9 (nel sistema decimale)
1 0 1 + 1 0 0 =
1 0 0 1 Errore di overflow
(il risultato (910 = 10012) non può essere codificato con tre bit)
Ricordiamo: 510 = 1012 , 410 = 1002
Codici a lunghezza fissa
• Numeri maggiori di quello massimo rappresentabile causano problemi di overflow, ovvero per essere rappresentati richiedono più cifre di quelle a
disposizione.
• Esempio: 4 cifre
– In base 10: 9999 + 1 = 1000010
– In base 2: 1111 + 1 = 100002 (=1610)
– In base 16: FFFF + 1 = 1000016 (=6553610) – In base 8: 7777 + 1 = 100008 (=409610)