Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Rappresentazione
dell’Informazione
Andrea Damiani
Problema della rappresentazione
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
2
Rappresentazione unaria
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
3
I numeri romani
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
4
Rappresentazione decimale
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
5
Codifica BINARIA
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
6
Numeri binari naturali
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
7
Conversione da decimale a binario naturale
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
Cifra meno
• Si calcolano i resti delle divisioni per significativa
due:
1. Stabilire se il numero sia pari (resto 0) 19 :2®1
oppure dispari (resto 1), e annotare il resto 9 :2®1
2. Dividere per 2 il numero (trascurando il 4 :2®0
resto) 2 :2®0
3. Ripartire dal punto 1. fino a ottenere 0 1 :2®1
come risultato della divisione 0 Cifra più
significativa
8
Conversione da decimale a binario naturale
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
29 : 2 = 14 (1) 76 : 2 = 38 (0)
14 : 2 = 7 (0) 38 : 2 = 19 (0)
7:2= 3 (1) 19 : 2 = 9 (1)
3:2= 1 (1) 9:2= 4 (1)
1:2= 0 (1) 4:2= 2 (0)
2:2= 1 (0)
1:2= 0 (1)
29dec = 11101bin
76dec = 1001100bin
76 = 19x4 = 1001100
Per raddoppiare, in base due, si aggiunge
uno zero in coda, così come si fa in base
dieci per decuplicare
9
Conversioni rapide bin à dec
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
10
Conversioni rapide bin à dec: esempi
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
11
Lunghezza della rappresentazione binario naturale
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
12
Aumento e riduzione dei bit in binario naturale
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
13
Operazioni con numeri binari naturali
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
Pesi 7 6 5 4 3 2 1 0
Riporto 1 1 1
Addendo 1 0 1 0 0 1 1 0 1 + 77dec
Addendo 2 1 0 0 1 1 1 0 0 = 156dec
Somma 1 1 1 0 1 0 0 1 233dec
14
Operazioni con numeri binari naturali
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
Pesi 7 6 5 4 3 2 1 0
Riporto 1 1 1 1 1 1
Riporto Addendo 1 0 1 1 1 1 1 0 1 + 125dec
“perduto”
Addendo 2 1 0 0 1 1 1 0 0 = 156dec
Somma 0 0 0 1 1 0 0 1 25dec !
15
Operazioni con numeri binari naturali
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
Pesi 7 6 5 4 3 2 1 0
Prestito 10 1 10 10
Sottraendo 1 0 1 0 0 1 1 0 - 166dec
Sottrattore 0 1 0 0 1 1 0 1 = 77dec
Differenza 0 1 0 1 1 0 0 1 89dec
16
Numeri interi relativi in modulo e segno
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
17
Lunghezza della rappresentazione m&s
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
18
Osservazioni sulla rappresentazione m&s
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
19
Operazioni con numeri binari m&s
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
20
Rappresentazione binaria in complemento a 2 (C2)
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
21
Esempi di numeri a 3 Bit in C2
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
22
Confronto tra interi relativi in m&s e in C2
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
24
Conversione da decimale a C2
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
• Se Ddec ³ 0:
1. Convertire Ddec in binario naturale
2. Aggiungere il bit 0 in testa alla sequenza di bit ottenuta
§ Esempio: 154dec Þ 10011010bin Þ 010011010C2
• Se Ddec < 0:
1. Trascurare il segno e converti Ddec in binario naturale
2. Aggiungere il bit 0 in testa alla sequenza di bit ottenuta
3. Calcolare l’opposto del numero così ottenuto, secondo la procedura
di inversione in C2
§ Esempio: -154dec Þ 154dec Þ 10011010bin Þ
Þ 010011010bin Þ 101100101 + 1 Þ 101100110C2
• Con n bit (n ³2) codifichiamo 2n numeri nell’intervallo
[-2n-1, 2n-1)
• Occorrono 9 bit sia per 154dec che per -154dec
25
Lunghezza della rappresentazione C2
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
26
Osservazioni sul C2
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
27
Operazioni con numeri in C2
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
28
Operazioni con numeri in C2
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
overflow
nessun
riporto Pesi 7 6 5 4 3 2 1 0
“perduto” Riporto 1 1 1 1
Addendo 1 0 1 0 0 1 1 0 1 + 77dec
Addendo 2 0 1 0 1 1 1 0 0 = 92dec
Somma 1 0 1 0 1 0 0 1 -87dec !
risultato errato!
Overflow:
risultato negativo!
29
Rilevare l’overflow in C2
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
• Se gli addendi sono tra loro discordi (di segno diverso) non si
verifica mai
• Se gli addendi sono tra loro concordi, si verifica se e solo se il
risultato è discorde
§ addendi positivi ma risultato negativo
§ addendi negativi ma risultato positivo
30
Riporto e overflow in C2
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
31
Numeri frazionari
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
32
Numeri frazionari
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
• Terminazione dell’algoritmo
§ Soltanto i numeri del tipo m/2n (con n ed m interi) possono essere
rappresentati con un numero finito di cifre
§ In alternativa ci si ferma quando il numero di cifre calcolate
costituisce un’approssimazione sufficiente
33
Numeri frazionari
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
Cifra più
• Esempio: convertire (0.587)10 in base 2 significativa
0.587 2 = 1.174 : 1
0.174 2 = 0.348 : 0
0.348 2 = 0.696 : 0
0.696 2 = 1.392 : 1
0.392 2 = 0.784 : 0
0.784 2 = 1.568 : 1
... Cifra meno
significativa
• Il risultato (approssimato) è 0,100101bin
34
Numeri reali in virgola fissa
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
35
Numeri reali in virgola fissa
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
36
Numeri reali in virgola mobile
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
37
Numeri reali in virgola mobile
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
In generale, se l’esponente:
• è in (0;255) à vbin= (-1)segno x 1,mantissa x 2(esponente-127)
• è0 à vbin= (-1)segno x 0,mantissa x 2(-126)
• Valori particolari:
§ Esponente=255
” mantissa≠0 à valore NaN
” mantissa=0 segno=0 à valore +Inf
” ” segno=1 à valore –Inf
§ Esponente=0
” mantissa=0 segno=0 à valore +0
” ” segno=1 à valore –0
39
Numeri reali in virgola mobile
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
40
Numeri reali in virgola mobile
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
42
Numeri reali in virgola mobile
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
43
Numeri reali in virgola mobile
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
44
Numeri reali in virgola mobile
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
46
Numeri reali in virgola mobile
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
11001001100000111011110100000010
47
Numeri reali in virgola mobile
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
11001001100000111011110100000010
= (-1079200,25)10
48
Caratteri
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
49