Lezione2 - Dipartimento di Ingegneria dell`Informazione

Lezione 2
Il sistema binario
Sommario
? La differenza Analogico/Digitale
? Il sistema binario
1
La conoscenza del mondo
? Per poter parlare (ed elaborare) degli oggetti
(nella visione scientifica) si deve poter assegnare
a questi una descrizione
? questa descrizione riassume tutta
l’informazione che ci interessa conoscere su un
dato oggetto/fenomeno
? la descrizione può essere:
? categorica
? ordinale
? numerale
Descrizione
? Categorica
? Lunedì/Martedì/../Domenica
? Antonio/Mario/…/Ugo
? Ordinale
? Disgustoso/Insipido/Saporito/Gustoso
? Banale/Comune/Originale
? Brutto/Bello
? Numerale
? 1,2,3,…,99,100
? -0.1356, +1.34 E +12
2
Dati e interi
? NOTA
? E’ possibile mettere in corrispondenza i dati
categorici e ordinali con i numeri interi
? Lunedì=1, Martedì=2, …, Domenica=7
? Disgustoso=0, Insipido=1, Saporito=2, Gustoso=3
? Nel caso di dati categorici vale il concetto di
dizionario
? Nel caso di dati ordinali vale il concetto di
relazione di ordine
Dati e interi
? ...non significa che tutte le operazioni o
relazioni ammissibili su gli interi hanno adesso
senso per i dati categorici o ordinali
(la corrispondenza non è biunivoca)
? per i categorici ha senso solo la relazione di
egualianza
? per gli ordinali ha senso solo la relazione di
ordinamento < > =
3
Le grandezze numerali
? Sono molto importanti
? è possibile definire operazioni: es. date due lunghezze
di due corde A e B è possibile determinare la
lunghezza complessiva A+B
? Le grandezze numerali possono essere continue
o discrete
? continuo: la temperatura
? discreto: il numero di abitanti di una nazione
? Le grandezze continue si rappresentano con i
numeri reali
? Le grandezze discrete con i numeri naturali
Continuo/Discreto
? Numeri razionali: A/B con A e B in N
? Si possono esprimere frazioni
? un terzo di una torta
? 2/3 di un giorno
? Possiamo pensare ad un numero razionale come
ad una indicazione di quante sotto unità
considerare
? 2/3 = prendere 2 sotto unità da 1/3
?
? se disponiamo di un modo per indicare la sotto
unità per rappresentare i razionali ci bastano i
naturali
4
Continuo/Discreto
? Si può approssimare un numero reale con un
numero razionale
? in pratica significa che ci fermiamo dopo un
certo numero di cifre decimali
? 2,34 significa: scegli come sotto unità 0,01 e prendine
234
? si possono dare approssimazioni razionali
arbitrariamente vicine ad un reale:
? 3,14 = 314 x 0.01
? 3,1415672343 = 31415672343 x 0.00000001
Analogico/Digitale
? Il predicato analogico è l’equivalente di
continuo, digitale di discreto
? dato un segnale analogico/continuo se ne può
costruire una approssimazione digitale/discreta
arbitrariamente vicina
5
Esempio
? Immagine:
? foto
? scansione computerizzata
Esempio
90
80
70
60
50
40
30
20
10
0
90
80
70
60
50
40
30
20
10
0
Digitale
Analogico
1 2 3 4 5 6 7 8 9 10
6
Approssimazione
90
85
80
75
70
65
60
55
50
45
40
35
30
25
20
15
10
5
0
90
80
70
60
50
40
Digitale
Analogico
30
20
10
10
9
8
7
6
5
4
3
2
1
0
Analogico/Digitale
? L’apparato sensoriale degli esseri umani è
limitato
? oltre una certa risoluzione/definizione i sensi
non distinguono più fra discreto e continuo
? es:
? audio (CD a 44KHz) [approfondire esempio]
? risoluzione di arco (immagini)
7
Conclusione
? Se
? siamo in grado di elaborare i numeri naturali
? indichiamo in qualche modo la unità frazionaria
? allora
? siamo in grado di elaborare i numeri razionali
? e quindi
? siamo in grado di approssimare i numeri reali
Digitale+informatica
? L’informatica vuole trattare l’informazione
? L’informazione può essere di tipo categorico,
ordinale, numerale
? Ogni tipo di informazione può essere elaborata
come se stessimo elaborando informazione
numerica (con opportune restrizioni sulle
operazioni e relazioni ammesse)
? il calcolatore tratta solo grandezze discrete
8
I dati numerici
? La conoscenza di una proprietà di un oggetto è
data dalla coppia
<valore della misura, unità di misura>
? il valore della misura è espresso tramite un
numero
? es: Quale è il peso di un dato tavolo?
? proprietà di interesse=il peso
? unità di misura=kg
? conoscenza: questo tavolo pesa <30 kg>
Dati numerici
? La manipolazione delle quantità numeriche
prevede l’introduzione del concetto di
operazione
? op(num1, num2)=num3
? es:
? somma(23,3)=26
? potenza(2,3)=8
? egualianza(4,5)=0, egualianza(5,5)=1
9
Rappresentazione dei numeri
? E’ possibile rappresentare i numeri in modi
diversi
? quale e’ il modo più semplice ed affidabile per
rappresentare i numeri e fare operazioni?
Il sistema decimale
? Il sistema di numerazione comunemente
impiegato è quello posizionale in base 10 o
decimale
? il sistema decimale si basa su dieci simboli
diversi detti cifre: 0123456789
? un numero è rappresentato da una sequenza di
cifre
? 2876 è un numero
? 23A$12 non è un numero
10
Il sistema decimale
? Il termine posizionale indica che il valore
assunto da ciascuna cifra dipende dalla sua
posizione entro la sequenza
? in 392, la cifra 2 vale 2 unità ovvero 2, la cifra 9
vale 9 decine ovvero 9x10=90, la cifra 3 vale 3
centinaia ovvero 3x100=100
? in sintesi:
? 8453=8x1000+4x100+5x10+3
? ovvero:
? 8453=8*103+4 *102 +5*101 +3*100
La base numerica
? I numeri si possono rappresentare anche con
altri sistemi di numerazione posizionale
? si consideri un sistema in base 3
? si hanno 3 simboli o cifre: 012
? un numero è sempre rappresentato da una
sequenza di cifre
? 201122 è un numero
? 241765 non è un numero
11
Base numerica
? A quale numero in base 10 equivale il numero
2102 in base 3?
? Il valore associato ad ogni cifra dipende dalla
posizione:
2102= 2*3 3+ 1*32+ 0*31+ 2*30 =2*27+9+2=65
Base numerica
? In generale dato un numero in base numerica B:
cn cn-1… c1 c0
dove la cifra ci assume uno di B possibili valori
? il valore in base decimale è dato da
cn*Bn+cn-1*Bn-1+ … c 1*B 1+c0*B 0
12
Fine prima parte
Binario
? Il sistema numerico più semplice possibile è
quello binario
? le cifre sono: 01
? le cifre sono chiamate bit
? una sequenza di cifre è un numero binario
? 00101010111110101 è un numero
? 20301 non è un numero
13
Conversione binario decimale
? Quale numero in base 10 rappresenta il
seguente numero in base 2?
11010 = 1*24 + 1*2 3+ 0*2 2+ 1*21+ 0*20
= 16+8+2=26
Ottale
? I calcolatori usano numeri in base 2,8 o 16
? come si vedrà la conversione di numeri fra
queste basi è molto semplice
? in base 8 si ha il sistema ottale
? le cifre ammesse sono: 01234567
172= 1*82+ 7*8 1+ 2*8 0=64+56+2=122
14
Esadecimale
? Un sistema numerico in base 16 è detto
esadecimale
? le cifre ammesse sono:
? 0123456789ABCDEF
A=10,B=11,C=12,D=13,E=14,F=15
? 7C1= 7*162+ C(=12)*161+ 1*160=
7*256+12*16+1=1985
Intervallo di rappresentazione
? Se il numero di cifre con cui rappresentare un
numero è limitato allora anche l’intervallo di
numeri rappresentabile è limitato
? es. in base decimale con due cifre si possono
rappresentare i numeri da 0 a 99 cioè 100
numeri
? con tre cifre da 0 a 999 cioè 1000 numeri
15
Esercizio
? Le targhe:
se una targa è così composta: 2 lettere 3 numeri 2
lettere, dove le lettere appartengono ad un alfabeto di
25 simboli, quante targhe distinte si possono ottenere?
Intervallo di rappresentazione
? In generale in un sistema in base B con n cifre si
rappresentano numeri nell’intervallo [0, Bn-1]
ovvero Bn numeri
? in base 2 pertanto con n cifre si rappresentano
2n numeri
16
Esercizio
? Scrivere le potenze del 2
? scrivere quanti bit sono necessari per
rappresentare i seguenti numeri:
? 4,9,23,78,2567
Conversione decimale-binario
? Per convertire da decimale a binario si procede
secondo il seguente algoritmo:
? si divide il numero decimale per 2
? si considera il quoziente e il resto
? il resto può valere 0 o 1 e rappresenta la cifra binaria
di peso minore
? si ripete il procedimento fino a quando il quoziente
non è nullo
? la sequenza dei resti delle divisioni (presi in
ordine inverso rispetto a come sono ottenuti) è il
numero binario cercato
17
Esempio
? 173(10)=?(2)
? 173/2
86
86/2
43
43/2
21
21/2
10
10/2
5
5/2
2
2/2
1
1/2
0
resto 1
resto 0
resto 1
resto 1
resto 0
resto 1
resto 0
resto 1
10101101
Perché funziona l’algoritmo?
? 173=86*2+1
? ma 86=23*2+0
? allora 173=(23*2+0)*2+1
? ma 23=12*2+1
? allora 173=((12*2+1)*2+0)*2+1
? cioè 173=12*23+1*22+0*21+1*20
? quindi stiamo proprio determinando i pesi da
dare alle potenze del due ovvero le cifre in
notazione binaria
18