1.2e - La Codifica dei Numeri - Home page istituzione trasparente

Transcript

1.2e - La Codifica dei Numeri - Home page istituzione trasparente
1.2e: La codifica
Digitale dei Numeri
Bibliografia
 Curtin, 3.6 (vecchie edizioni)
 Curtin, 2.5 (nuova edizione)
17 ott 2011
 Questi lucidi
2
Sistema di numerazione arabo
 Il sistema di numerazione che utilizziamo si dice arabo.
 È decimale (o in base 10): esso rappresenta i numeri
tramite sequenze di cifre che vanno da 0 a 9 (dieci cifre).
 È posizionale: simboli uguali assumono valori diversi a
seconda della loro posizione nel numero
 I sistemi posizionali sono nati dall’esigenza di
 rappresentare numeri grandi con un numero limitato di
cifre
17 ott 2011
 svolgere calcoli in modo semplice ed efficiente.
 Esistono anche
 sistemi additivi, in cui a ogni simbolo è associato un valore
numerico prefissato (come il romano)
 sistemi non (completamente)-posizionali.
3
17 ott 2011
La Numerazione Romana
4
Sistemi Posizionali: Base e Alfabeto
 I sistemi di numerazione posizionale sono
caratterizzati da una base b e un alfabeto a:
 Base (b): è il numero degli elementi che compongono
l’alfabeto.
 Ad esempio, nel sistema decimale, b=10.
 Alfabeto (a): è l’insieme dei “simboli” (detti cifre)
disponibili per esprimere i numeri. A ogni cifra
corrisponde un valore compreso tra 0 e (b-1).
17 ott 2011
 Ad esempio, nel sistema decimale, a={0,1,2,3,4,5,6,7,8,9}
5
Esempi:
 Base 8 (ottale) a={0,1,2,3,4,5,6,7}
 Base 16 (esadecimale)
a={0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}
Sistema di Numerazione decimale
 Rappresentazione posizionale in base 10:
 Il “valore” di ogni numero è espresso come
somma di potenze del 10 pesate moltiplicato il
valore del simbolo corrispondente
17 ott 2011
 La notazione posizionale può essere usata in
qualunque altro sistema di numerazione (cioè
con base diversa da 10)
6
 In un calcolatore viene solitamente usata la
base 2.
Sistema di Numerazione binario
 In analogia con il caso decimale, la sequenza
cncn-1cn-2 … c1c0 (con ci che vale 0 o 1)
rappresenta il numero
cn2n + cn-12n-1 + cn-22n-2 + … + c121 + c020
17 ott 2011
 Ad esempio, la sequenza binaria 1110
rappresenta il numero 14
7
1x23 + 1x22 + 1x21 + 0x20
1x8 + 1x4 + 1x2 + 0x1
14
=
17 ott 2011
Sistema di Numerazione binario
8
17 ott 2011
Sistema di Numerazione binario
9
Conversione binario → decimale
 BINARIO → DECIMALE:
Basta rappresentare usando una
rappresentazione decimale come potenze di B e
poi fare i conti.
 Esempi
 10012
17 ott 2011
1x23 + 0x22 + 0x21 + 1x20 = 1x8 + 0x4 +
0x2 + 1x1 = 910
10
 10102
1x23 + 0x22 + 1x21 + 0x20 = 1x8 + 0x4 +
1x2 + 0x1 = 1010
Conversione decimale → binario
Algoritmo delle divisioni successive
Per convertire in base 2 un numero
rappresentato in base 10, si procede così:
x
17 ott 2011
A. Si divide x per 10; il resto ottenuto costituisce
l’ultima cifra a destra del numero espresso in
base 2;
11
B. Si divide nuovamente per 2 il quoziente
ottenuto; il nuovo resto è la cifra, in base 2,
immediatamente a sinistra di quella ottenuta
precedentemente;
C. Si ripete l’operazione
quoziente nullo.
B fino a ottenere un
Conversione decimale  binario
 DECIMALE  BINARIO
11510 = 11100112:
115
1
17 ott 2011
d0
12
d1
2
57
1
2
28
0
d2
2
14
0
d3
2
7
1
d4
2
3
1
d5
2
1
1
d6
2
0
Esercizi (in aula)
 Trasformare in decimale i seguenti numeri binari:
10011002
01011002
000100112
 Trasformare in binario i seguenti numeri
decimali:
17 ott 2011
2510 3810
13
910
1710
Soluzioni (in aula)
10011002 = 7610 000100112 =1910
01011002 =4410
2510=110012
910=10012
17 ott 2011
1710=100012
14
3810=1001102
Esercizi (a casa)
 Trasformare in decimale i seguenti numeri binari:
11010012
1101112
100012
1000002
1001112
1000112
17 ott 2011
 Trasformare in binario i seguenti numeri
decimali:
15
3910
4210 9510
1510
1710 3510
Soluzioni (a casa)
11010012= 10510
1101112 = 5510
17 ott 2011
3910=1001112 4210=1010102
16
1000002 =3210
9510=10111112