versione bianco/nero per la stampa

La codifica digitale
Codifica digitale
Il computer e il sistema binario
„
„
„
„
Il computer elabora esclusivamente numeri.
Ogni immagine, ogni suono, ogni informazione per essere
“compresa” e rielaborata dal calcolatore deve essere prima
trasformata in una sequenza di numeri.
Il computer usa il passaggio di corrente elettrica
come“alfabeto” per codificare tutte le informazioni.
La corrente elettrica ha solo due stati: “presenza” e
“assenza”. Pertanto l’alfabeto usato dal computer è un
alfabeto binario.
Elementi di Informatica
Chiara Epifanio
Codifica digitale
Il computer e il sistema binario
„
„
„
„
Ogni informazione elaborata dal computer è costruita con
due soli simboli: “0” e “1”.
Bisogna tradurre ogni informazione in sequenze di 0 e 1.
La “traduzione” si chiama codifica e poiché si usano solo
due simboli allora si chiama codifica binaria.
I simboli 0 e 1 si chiamano anche bit (contrazione delle
parole inglesi: binary digit = cifra binaria).
Elementi di Informatica
Chiara Epifanio
Codifica digitale
Il computer e il sistema binario
„
„
„
Per quanto detto il computer è capace di riconoscere due
soli stati della corrente e ad ognuno di essi associa un
valore (0 o 1).
Un linguaggio che si basa su due soli caratteri si chiama
“linguaggio binario”.
Poiché nel caso del calcolatore i caratteri sono due numeri
(0 o 1), diciamo che il calcolatore fa uso del sistema (di
numerazione) binario.
Elementi di Informatica
Chiara Epifanio
Codifica digitale
Il computer e il sistema binario
„
„
„
Quindi ogni dato immesso nel calcolatore, o ogni
istruzione impartita, deve essere scritta utilizzando
stringhe (sequenze) di 0 e 1, ossia in linguaggio binario.
Il linguaggio binario è il linguaggio macchina, ossia quello
compreso e usato dalla macchina (il computer) per
eseguire le istruzioni o immagazzinare i dati.
Quando usiamo il computer il Sistema Operativo “traduce”
ogni nostro comando in una stringa di 0 e 1 (linguaggio
macchina), per permettere al computer di eseguire le
istruzioni impartite.
Elementi di Informatica
Chiara Epifanio
I sistemi di
numerazione
Sistemi di numerazione
I sistemi di numerazione
„
„
Il SISTEMA NUMERICO, detto anche SISTEMA DI
NUMERAZIONE, è l’insieme di tutti i numeri rappresentati
usando uno stesso insieme di regole.
Ogni numero può essere rappresentato seguendo regole
diverse, quindi lo stesso numero può avere
rappresentazione diversa (in relazione alle regole seguite)
malgrado il suo valore non cambi.
12
Base 10
Elementi di Informatica
XII
Numerazione
Romana
1100
Base 2
Chiara Epifanio
Sistemi di numerazione
I sistemi di numerazione
„
Ogni numero è rappresentato mediante dei segni
elementari che si ripetono nella costruzione dei vari
numeri.
„
Questi segni elementari si chiamano cifre.
„
Ogni cifra deve essere distinta dalle altre.
„
Il numero di cifre necessarie per rappresentare tutti i
numeri può essere finito o infinito.
Elementi di Informatica
Chiara Epifanio
Sistemi di numerazione
Tipi di sistemi di numerazione
„
I sistemi di numerazione possono essere distinti in due
grandi categorie:
Sistemi di
numerazione
Sistemi addizionali
Elementi di Informatica
Sistemi posizionali
Chiara Epifanio
Sistemi numerici addizionali
I sistemi numerici addizionali
„
„
„
„
„
„
I sistemi numerici addizionali sono quelli concettualmente
più semplici, ma più difficili da capire (almeno per noi che
utilizziamo correntemente un sistema numerico posizionale).
Nei sistemi numerici addizionali ogni cifra assume sempre lo
stesso valore indipendentemente dalla posizione occupata.
Tra due cifre di una sequenza è sottointesa un’operazione.
Non è necessario rappresentare lo zero.
Sono necessari infiniti simboli diversi (cifre) per poter
rappresentare tutti i numeri (infiniti).
Il sistema addizionale più noto è quello romano.
Elementi di Informatica
Chiara Epifanio
Sistemi numerici addizionali
Il sistema di numerazione romano
Le cifre del sistema di numerazione romano sono:
I=1
V=5
X=10
L=50
C=100
D=500
M=1000
XX = 10+10 = 20
10 10
LXII = 50+10+1+1 = 62
10
XC = -10+100 = 90
10
Come si vede la lettera X vale sempre 10 indipendentemente
dalla posizione che occupa.
Elementi di Informatica
Chiara Epifanio
Sistemi numerici posizionali
I sistemi numerici posizionali
„
„
„
„
„
„
Nei sistemi numerici posizionali ogni cifra assume un
valore diverso in relazione alla posizione occupata.
Il numero di “cifre elementari distinte” si chiama base del
sistema di numerazione.
Tra due cifre di una sequenza è sottointesa
un’operazione di somma di prodotti per una potenza
della base.
È necessario definire una cifra che abbia valore nullo.
Sono sufficienti un numero finito di cifre (almeno due)
per poter rappresentare tutti i numeri.
Il sistema posizionale più noto è quello decimale.
Elementi di Informatica
Chiara Epifanio
Sistemi numerici posizionali
Il sistema di numerazione decimale
„
„
„
Nel sistema decimale si usano 10 cifre distinte
(0,1,2,3,4,5,6,7,8,9) per rappresentare qualsiasi numero.
Quindi la base del sistema decimale è 10.
Per ottenere il valore di un numero decimale bisogna
moltiplicare ogni cifra del numero per una potenza di 10
con esponente uguale alla posizione occupata dalla cifra,
partendo dalla fine, meno uno; quindi sommare questi
prodotti.
Con n “posti” si possono rappresentare esattamente 10n
numeri distinti a partire da 0.
Elementi di Informatica
Chiara Epifanio
Sistemi numerici posizionali
Il sistema di numerazione decimale
Consideriamo il numero 34553
34553 = 3 x 104 + 4 x 103 + 5 x 102 + 5 x 101 + 3 x 100
Infatti:
3 x 10.000 + 4 x 1.000 + 5 x 100 + 5 x 10 + 3 x 1 =
30.000 + 4.000 + 500 + 50 + 3 = 34553
Elementi di Informatica
Chiara Epifanio
Sistemi numerici posizionali
Il sistema di numerazione decimale
„
Quindi nel numero 34553 la stessa cifra ha un valore
diverso in relazione alla posizione occupata.
34553
3
50
500
4.000
30.000
Elementi di Informatica
Chiara Epifanio
Sistemi numerici posizionali
Il sistema di numerazione decimale
„
„
I numeri negativi si rappresentano col segno meno.
Il numero -8888 è costituito tutto dalla stessa cifra (8), ma
ogni cifra ha un valore diverso in relazione alla posizione
che occupa.
-8888
8
80
800
8.000
Elementi di Informatica
Chiara Epifanio
Sistemi numerici posizionali
Il sistema di numerazione in base n
„
„
„
„
Possiamo scegliere n cifre diverse e creare un sistema di
numerazione in base n.
Per esempio in base 16 (sistema esadecimale) le cifre sono:
0 1 2 3 4 5 6 7 8 9 A B C D E F.
Per ottenere il valore di un numero decimale bisogna
moltiplicare ogni cifra del numero per una potenza di 16 con
esponente uguale alla posizione occupata dalla cifra, partendo
dalla fine, meno uno; quindi sommare questi prodotti.
Con n posti si possono rappresentare esattamente 16n numeri
distinti a partire da 0.
Elementi di Informatica
Chiara Epifanio
Infatti…
Teorema:
Sia b un intero non negativo (base).
Ogni intero n>1 può essere espresso in maniera unica nella forma
n = a0·b0 + a1·b1 + a2·b2 +........... + am·bm
dove m è un intero non negativo e 0≤ ai <b.
Questo teorema ci permette di rappresentare i numeri in qualunque base b.
La sequenza sarà la rappresentazione del numero n in base b.
In particolare se b=2, allora otteniamo la rappresentazione binaria di n. Nel
sistema binario quindi ogni numero sarà espresso con le sole cifre 0 e 1 (<b=2).
Se quindi ci viene dato un numero non in forma decimale, per determinare qual è il
suo valore in forma decimale, basta applicare la formula del teorema.
Il sistema di numerazione esadecimale
„
Il numero 5BF2 è uguale a:
5BF2
2x160=2
15x161=240
11x162=2816
5x163=20480
„
Pertanto sommando i prodotti ottenuti si ha che:
(5BF2)16 = (23538)10
Elementi di Informatica
Chiara Epifanio
Sistemi numerici posizionali
Il sistema di numerazione binario
„
„
„
„
Nel sistema binario si usano solo 2 cifre distinte (0,1) per
rappresentare qualsiasi numero.
La base del sistema binario è 2.
Per ottenere il valore di un numero decimale bisogna
moltiplicare ogni cifra del numero per una potenza di 2 con
esponente uguale alla posizione occupata dalla cifra, partendo
dalla fine, meno uno; quindi sommare questi prodotti.
Con n posti si possono rappresentare esattamente 2n numeri
distinti a partire da 0.
Elementi di Informatica
Chiara Epifanio
Sistemi numerici posizionali
Il sistema di numerazione binario
Consideriamo il numero (1001010)2
(1001010)2 <-> 1 x 26 + 0 x 25 + 0 x 24 + 1 x 23 + 0 x 22 +
1 x 21 + 0 x 20
Infatti:
1 x 64 + 0 x 32 + 0 x 16 + 1 x 8 + 0 x 4 + 1 x 2 +
0 x 1 = 64 + 8 + 2 = (74)10
Elementi di Informatica
Chiara Epifanio
Sistemi numerici posizionali
Il sistema di numerazione binario
„
Quindi nel numero (1001010)2 la stessa cifra ha un valore
diverso in relazione alla posizione occupata.
1001010
0
21=2
0
23=8
0
0
26=64
Elementi di Informatica
Chiara Epifanio
Sistemi numerici posizionali
Il sistema di numerazione binario
„
Il numero (111111)2 = 63 è costituito tutto dalla stessa
cifra (1), ma ogni cifra ha un valore diverso in relazione
alla posizione che occupa.
111111
20=1
21=2
22=4
23=8
24=16
25=32
Elementi di Informatica
Chiara Epifanio
Conversione dal sistema decimale al
sistema binario: il metodo delle divisioni
successive
1) Dividere il numero per 2 e conservare il resto della
divisione,
2) ripetere il passo precedente sul risultato finché non si
arriva ad ottenere 1,
3) leggere 1 e tutti i resti dall’ultimo al primo per ottenere
il numero in forma binaria.
Sistemi numerici posizionali
Metodo delle divisioni successive
39
1
2
19
1
2
9
1
2
4
0
2
2
2
0
1
39 = 1
Elementi di Informatica
Chiara Epifanio
Sistemi numerici posizionali
Metodo delle divisioni successive
39
2
19
2
9
2
4
2
2
2
1
39 = 1 0 0 1 1 1
Elementi di Informatica
Chiara Epifanio
Un secondo metodo
1) Trovare la più grande potenza di 2 più piccola del
numero,
2) sottrarla al numero,
3) ripetere il procedimento sulla differenza fino ad
arrivare al valore 1.
4) Scrivere 1 in corrispondenza di ogni potenza di 2
presente e 0 per quelle che non figurano.
Conversione secondo le potenze di 2
Sia n = 155
155 - 128 = 27
27 - 16 = 11
11 - 8 = 3
3-2=1
1-1=0
155 = 27 +24 +23 +21 +20 → 10011011
20 = 1
21 = 2
22 = 4
23 = 8
24 = 16
25 = 32
26 = 64
27 = 128
28 = 256
Sistemi numerici posizionali
La somma di due numeri binari
„
„
„
La somma di due numeri binari viene eseguita in modo
analogo a quella dei numeri decimali.
I numeri binari si sommano a due a due.
Si allineano i due numeri a partire dall’ultima cifra e si
sommano ricordando che:
1 + 1 = 0 col resto di 1
0+ 1 = 1 col resto di 0
1+ 0 = 1 col resto di 0
0+ 0 = 0 col resto di 0
Elementi di Informatica
Chiara Epifanio
La somma di due numeri binari
1000+
11110 =
100110
Elementi di Informatica
8
30
38
Chiara Epifanio
Sistemi numerici posizionali
La somma di due numeri binari
1000+
11110 =
100110
1 011 011 +
111011 =
10 01 0110
Elementi di Informatica
91
59
150
Chiara Epifanio
Sistemi numerici posizionali
La differenza di due numeri binari
„
„
„
La differenza di due numeri binari viene eseguita in modo
analogo a quella dei numeri decimali.
I numeri binari si sottraggono a due a due.
Si allineano i due numeri a partire dall’ultima cifra e si
sottraggono ricordando che:
0 – 1 = 1 con un “prestito”
–1 – 1 = 0 con un “prestito”
–1 – 0 = 1 con un “prestito”
Elementi di Informatica
Chiara Epifanio
Sistemi numerici posizionali
La differenza di due numeri binari
1 011 011 –
111011 =
59
10 0000
32
Elementi di Informatica
91
Chiara Epifanio
Sistemi numerici posizionali
La differenza di due numeri binari
1 011 011 –
111011 =
10 0000
1 1 001 01 –
101110 =
110111
Elementi di Informatica
101
46
55
Chiara Epifanio
Complemento a due
La rappresentazione in complemento in base due
„
„
„
Se dobbiamo rappresentare i numeri interi negativi nel
sistema binario (e in particolare nel computer) non possiamo
utilizzare il segno meno, ma dobbiamo utilizzare una
particolare codifica detta: “complemento a due”.
La rappresentazione in complemento a due può avvenire solo
se tutti i numeri sono rappresentati utilizzando lo stesso
numero di cifre (stessa lunghezza).
Con questo tipo di rappresentazione ogni successione di 0 e
1 di lunghezza n fissata rappresenta numeri positivi o
negativi.
Elementi di Informatica
Chiara Epifanio
Complemento a due
La rappresentazione in complemento in base due
„
„
„
„
Supponiamo di utilizzare n cifre per rappresentare il numero
x.
La rappresentazione del numero x in complemento a due
coincide con la rappresentazione binaria del numero 2n-x.
Ricordiamo che con n cifre binarie possiamo rappresentare
2n numeri interi che, con questa rappresentazione, saranno
in parte positivi e in parte negativi.
N.B.: Sfruttando le proprietà della numerazione binaria è
stato definito un altro metodo empirico per calcolare il
complemento in base due di un numero: si trasformano le
cifre 0 in 1 e viceversa e si somma 1 al valore ottenuto.
Elementi di Informatica
Chiara Epifanio
Esempio
Vogliamo complementare in base due il numero
10011001.
Primo metodo:
(10011001)’=28-10011001=
100000000-10011001=01100111
Secondo metodo:
10011001
01100110
01100111
Complemento a due
Notiamo che con la rappresentazione in complemento a due:
„
I numeri che cominciano con 1 sono tutti negativi.
„
I numeri che cominciano con 0 sono tutti positivi.
„
„
Utilizzando n cifre si possono rappresentare 2n–1 numeri
negativi e 2n–1–1 numeri positivi oltre lo zero.
Non si ha bilanciamento tra numeri positivi e negativi perché
lo zero viene rappresentato come un numero positivo.
Elementi di Informatica
Chiara Epifanio