Info
Problema
Codifica e Decodifica
Informazione
DECODIFICA
Codifica e Decodifica
cifra binaria)
Rappresentazione binaria
Con un bit possiamo rappresentare uninformazione che pu`
o
assumere 2 valori
Esempio
Stato di una lampadina: 0 = spento, 1 = acceso
Verit`
a di una formula: 0 = falso, 1 = vero
Codifica e Decodifica
1 bit
2 bit
3 bit
2 valori: 0, 1
4 valori: 00, 01, 10, 11
8 valori: 000, 001, 010, 011, 100, 101, 110, 111
Codifica e Decodifica
Esempio di codifica
Vogliamo dare una rappresentazione binaria per i quattro
punti cardinali
Ciascun punto cardinale pu`
o essere rappresentato da una
carte?
Codifica e Decodifica
Codifica e Decodifica
Esercizio 1
Domanda:
Esercizio 2
Domanda:
Codifica e Decodifica
Esercizio 3
Domanda: quanti bit mi servono per rappresentare 1000
diversi valori?
Risposta: devo trovare il minimo numero n di bit che soddisfi
Esercizio 4
Domanda: quanti bit mi servono per rappresentare 112 diversi
valori?
Risposta: 7 bit (27 = 128). 6 bit sarebbero stati pochi,
Codifica e Decodifica
posizione relativa
le posizioni si contano da destra a sinistra partendo da 0
(an1 , . . . , a1 , a0 ) = an1 b
n1
+. . .+a1 b +a0 b =
n1
X
i =0
ai b i
Rappresentazione binaria
base 2 (b = 2)
le cifre (binarie) sono: 0 e 1
Rappresentazione ottale
base 8 (b = 8)
le cifre (ottali) sono: 0, 1,. . . , 7
Rappresentazione esadecimale
base 16 (b = 16)
le cifre (esadecimali) sono: 0,1,. . . , 9, A, B, C, D, E, F
Esercizio:
convertire in base 10 i seguenti numeri
(1101010)2 (1110001)2 (1010101110)2
(145)8
(7342)8
(12345)8
(AF 4)16
(FF 5E )16
(ADC 2D)16
Procedimento
Abbiamo un numero (n)10 da convertire nella base b:
1. dividere n per b con una divisione intera
2. il resto della divisione diventa la cifra meno significativa (la
prima che resta da calcolare) del numero in base b
3. se il quoziente `e 0 abbiamo finito
4. se il quoziente `e diverso da zero si torna al passo 1
considerando il quoziente come dividendo
resto
resto
resto
resto
=
=
=
=
1
0
1
1
resto
resto
resto
resto
resto
resto
=
=
=
=
=
=
1
1
1
1
1
1
LSD
MSD
LSD
MSD
resto = 1
resto = 6
LSD
MSD
resto = 11 = B
resto = 15 = F
LSD
MSD
(149)10 (?)2
(132)10 (?)8
(112)10 (?)16
(1387)10 (?)2
(1211)10 (?)8
(3459)10 (?)16
000
001
010
011
100
101
110
111
0
1
2
3
4
5
6
7
0000
0001
0010
0011
0100
0101
0110
0111
0
1
2
3
4
5
6
7
1000
1001
1010
1011
1100
1101
1110
1111
8
9
A
B
C
D
E
F
riporto
riporto
riporto
riporto
=
=
=
=
0
0
0
1
somma
1
1
0
0
1
1
1
1
1
0
1
0
1
1
0
+
=
Esercizio:
eseguire in binario le seguenti somme
(124 + 98) (44 + 87) (132 + 71)
(145 + 43) (22 + 22) (123 + 45)
decimale
4
3
2
1
binario in C2
100
101
110
111
decimale
0
+1
+2
+3
binario in C2
000
001
010
011
Esempio: 60 54 = 60 + (54)
riporto
somma
(1)
1
0
1
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
1
0
0
0
+
=
risultato! OVERFLOW
Come riconoscerlo?
pu`
o succedere solo quando si sommano due operandi dello
stesso segno: se il segno del risultato `
e diverso da quello
degli operandi `e avvenuto un overflow!
gli ultimi due riporti sono diversi tra loro (01 o 10).
somma
(1)
0
1
1
0
0
0
0
0
1
1
+
=
(0.a1 a2 . . . an )b = a1 b 1 + a2 b 2 + . . . + an b n
Esempio:
(0.587)10 = 5 101 + 8 102 + 7 103
Conversione da base 2 a base 10:
(0.1011)2 = 1 21 + 0 22 + 1 23 + 1 24 = (0.6875)10
Procedimento
1. moltiplicare n per 2
2. la parte intera del risultato diventa la cifra pi`
u significativa (la
prima che resta da calcolare) del numero in base 2
3. si torna al passo 1 considerando la parte frazionaria del
risultato al posto di n
Quando si finisce?
Soltanto i numeri del tipo 2mz possono essere rappresentati con
un numero finito di cifre
Ci si ferma quando il numero di cifre calcolate costituisce
unapprossimazione sufficiente
parte
parte
parte
parte
parte
parte
intera
intera
intera
intera
intera
intera
=
=
=
=
=
=
1
0
0
1
0
1
MSD
01101111
o
01101001
i
01100101
e
01101100
l
01110010
r
01100011
c
01101110
n
01100101
e
Esercizio 2
Domanda:
Codifica
Esercizio
Domanda:
Pixel
Nei monitor `
e utilizzato lo standard RGB: ogni colore `e
colori
Esempio: un byte per ogni livello. Un pixel `
e rappresentato
Esercizio 1
Domanda:
Esercizio 2
Domanda:
Esercizio 3
Domanda:
Unit`a di misura
KB
MB
GB
GB
240
Rappresentazione di video
Un filmato `
e una sequenza temporale di immagini, dette
frames
Per rappresentare un filmato si digitalizzano i suoi frames
Vari formati
.avi (Audio Video Interleave, Microsoft)
.mov (anche detto QuickTime, Apple)
.mpeg (anche detto QuickTime, Apple)
DivX ;-)
Compressione: rappresentare solo differenze tra frame
successivi
tempo
tempo
occupata
Tecniche di compressione
Algoritmi lossy: sfruttano il fatto che suoni a basso volume
Esercizio 1
Domanda:
Esercizio 2
Domanda:
di base `e la stessa
Si stabilisce e si usa una prima convenzione per rappresentare
ogni unit`
a elementare (un carattere per il testo, un pixel per
limmagine, un campione per il suono)
Si stabilisce e si usa una seconda convenzione per
rappresentare insiemi di unit`
a elementari
Tecniche di compressione