Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Codifica dell’informazione
z L’informazione gestita dai sistemi di
elaborazione deve essere codificata
z per poter essere memorizzata, elaborata,
scambiata, …
z E’ necessario codificare sia dati che istruzioni
z Algoritmo = insieme di istruzioni che operano su dati
z Per scrivere un programma è necessario codificare
dati e istruzioni
z L’esecutore automatico deve essere in grado di:
z Memorizzare istruzioni e dati
z Manipolare istruzioni e dati
2
Informazione e codifica
z La stessa informazione si può codificare in modi
differenti
Sistemi di codifica
z Detto anche “codice”
z Usa un insieme di simboli di base (alfabeto)
z I simboli dell’alfabeto possono essere combinati
ottenendo differenti configurazioni (o “stati”),
distinguibili l’una dall’altra
z Associa ogni configurazione ad una particolare
entità di informazione
z la configurazione diventa un modo per
rappresentarla
4
Sistemi di codifica: numeri (es.)
z Alfabeto
z cifre: “0”, “1”, “2”, …, “9”
z separatori: decimale (“,”), migliaia (“.”)
z segni: positivo (“+”), negativo (“-”)
z Regole di composizione (sintassi)
z definiscono le combinazioni ammissibili (ben formate)
z 12.318,43: OK
z 12,318,43: ERRORE!
z Codice (semantica)
z Associano ad ogni configurazione un’entità di informazione
z 2.318,43 = 2×103+ 3×102+ 1×101+ 8×100+ 4×10-1+ 3×10-2
z Sistemi diversi possono usare lo stesso alfabeto
z 123,456 = 1×102+ 2×101 + 3×100 + 4×10-1+ 5×10-2+ 6×10-3 [IT]
z 123,456 = 1×105+ 2×104+ 3×103+ 4×102+ 5×101 + 6×100 [UK]
Codifica binaria
z Codifica binaria: usa un alfabeto di 2 simboli
z Usata nei sistemi informatici (livello fisico)
z si usa una grandezza fisica (luminosità, tensione
elettrica, corrente elettrica) per rappresentare
l’informazione
z Solo 2 simboli per ridurre la probabilità di errore
z tanti più simboli si devono distinguere e tanto meno
la rivelazione sarà affidabile in presenza di “rumore”
6
Codifica binaria
z BIT (BInary digiT)
z unità elementare di informazione rappresentabile con
dispositivi elettronici
z con 1 bit si possono rappresentare 2 stati
z 0/1, on/off, si/no
zN ≤ 2K → K ≥ log2N → K = ⎡log2N⎤
z BYTE = 8 bit
z può rappresentare 28= 256 stati
z KiloByte (KB) = 210 byte = 1024 byte ≅ 103 byte
z MegaByte (MB) = 220 byte ≅ 106 byte
z GigaByte (GB) = 230 byte ≅ 109 byte
z TeraByte (TB) = 240 byte ≅ 1012 byte
8
Es.: i giorni della settimana in binario
10
Codifica dei numeri naturali
z Esempio:
z 13 può essere espresso mediante potenze di 2
come:
13 = 1×8+1×4+0×2+1×1
1 1 0 1
11
Conversione decimale-binario
12
Codifica dei numeri naturali
z Quindi
• Numero = sequenza di bit (codifica in base 2)
• Con K bit si rappresentano i numeri da 0 a 2K-1
z Esempi:
• 2 = sequenza 1 0
• 3 = sequenza 1 1
• 4 = sequenza 1 0 0
• .......
13
Esercizi
14
Esercizi (2)
15
Esercizi (3)
z Proprietà:
z Ciascuna cifra ottale (esadecimale) corrisponde ad
un gruppo di 3 (4) cifre binarie
16
Parte frazionaria
z Per convertire la sola parte frazionaria, si moltiplica il
numero per 2, sottraendo 1 dal prodotto se è maggiore di 1
e continuando a moltiplicare per 2 il risultato così ottenuto
fino a quando non si ottiene un risultato uguale a 0 oppure
un risultato già ottenuto in precedenza
0,35 · 2 = 0,7
z Il numero binario si ottiene scrivendo la 0,7 · 2 = 1,4
serie delle parti intere dei prodotti 0,4 · 2 = 0,8
ottenuti, iniziando dal primo 0,8 · 2 = 1,6
z Se si ottiene un risultato già ottenuto in 0,6 · 2 = 1,2
precedenza, il numero sarà periodico, 0,2 · 2 = 0,4
anche se non lo era in base decimale
(0,35)10 = (0,010110)2
17
z Complemento a 2
z comunemente usata nei sistemi reali
18
Codifica dei numeri interi
Modulo e segno
z 1 bit per rappresentare esplicitamente il segno
z 0 Æ +
z 1 Æ -
z Gli altri bit rappresentano il valore assoluto del
numero come binario puro
z Esempi (su 8 bit):
z -2 Æ 10000010
z +5 Æ 00000101
19
21
Complemento a due
z Approccio
z Un numero è rappresentato con la codifica del suo
complemento a 2 (positivo)
z in una codifica a K bit: CK(x) = 2K + x
z Esempio (K = 4, 2K = 16)
z x = +5
z CK(+5) = 16 + 5 = 21 → 10101
z x = -5
z CK(-5) = 16 - 5 = 11 → 1011
z Osservazione
z Anche in questo caso il primo bit indica il segno
z 0 = positivo
z 1 = negativo
22
Codifica dei numeri interi
Complemento a due (2)
z Algoritmo per calcolare la rappresentazione
in complemento a 2 di un numero negativo:
1. si rappresenta il valore assoluto in binario
2. si invertono tutte le cifre (1->0 e viceversa)
3. si somma 1
z Esempio
z 5 → 0101
z -5 → 1011= 1010+1
23
24
Operazioni algebriche:
somma e sottrazione su interi
Somme fra “cifre”:
0+0=0 1+0=1 0+1=1 1 + 1 = 10
← riporto prestito →
1 1 0
1 0 1 1 0+ 1 1 1 0-
1 0 1 0 1= 0 1 0 1=
1 0 1 0 1 1 1 0 0 1
25
26
Operazioni algebriche: Errori
z Problema
z Gli elaboratori elettronici utilizzano un numero fissato di bit per
rappresentare un dato tipo di numeri
z Un’operazione può produrre un valore non rappresentabile: il
numero di bit disponibili è minore di quelli necessari
z Overflow
z Il valore assoluto del risultato è maggiore della massima
quantità rappresentabile
z L’approssimazione con la massima quantità rappresentabile
potrebbe implicare un notevole errore
z Underflow
z Il risultato è minore (in valore assoluto) della minima quantità
rappresentabile
z Nella rappresentazione in virgola mobile, corrisponde ad un
overflow dell’esponente
z Il risultato è approssimato con 0 (e si segnala la condizione)
27
Codifica di caratteri
z Si associa un codice ad ogni simbolo dell’alfabeto
z Codifica ASCII
z Caratteri speciali, punteggiatura, a-z, A-Z, 0-9
z Utilizza 7 bit (128 caratteri)
z I codici ASCII estesi usano 8 bit (256 caratteri)
z Codifica EBCDIC
z Utilizza 8 bit (256 caratteri)
z Codifica UNICODE
z Utilizza 16 bit (65536 caratteri)
z I primi 128 caratteri sono gli stessi di ASCII
z Gli altri corrispondono ad altri alfabeti (greco,
cirillico,…)
z Non copre i simboli (oltre 200.000) di tutte le lingue!
28
Codice ASCII (7 bit)
29
30
Codifica di dati multimediali
z Applicazioni multimediali
z elaborano anche tipi di informazione
differenti da testi e numeri
z Esempi di dati multimediali:
z diagrammi
z immagini e filmati
31
Codifica di immagini
z Immagini digitalizzate = sequenze di bit!
z L’immagine viene discretizzata, cioè
rappresentata con sequenze di pixel
z Ogni pixel ha associato un numero che descrive
un particolare colore (o tonalità di grigio)
32
Codifica di immagini
z Consideriamo un'immagine in bianco e nero,
senza ombreggiature o livelli di chiaroscuro
33
Codifica di immagini
34
Codifica di immagini
z Poiché una sequenza di bit è lineare, si deve definire
una convenzione per ordinare i pixel della griglia
z Assumiamo che i pixel siano ordinati dal basso verso l'alto
e da sinistra verso destra
35
Codifica di immagini
z Approssimazione:
z nella codifica si ottiene un'approssimazione della
figura originaria
z non sempre il contorno della figura coincide con le
linee della griglia
z Riconvertendo in immagine la stringa
0000000011110001100000100000 si ottiene:
36
Codifica di immagini
z La rappresentazione sarà più fedele
all'aumentare del numero di pixel
z ossia al diminuire delle dimensioni dei quadratini
della griglia in cui è suddivisa l'immagine
zz
37
38
Immagini a colori
39
Immagini a colori
z Il numero di byte richiesti dipende da
z risoluzione
z numero di colori che ogni pixel può assumere
z Es: per distinguere 256 colori sono necessari 8 bit per
la codifica di ciascun pixel
z la codifica di un'immagine formata da 640×480 pixel
richiederà 2457600 bit (307200 byte)
z I monitor tipici utilizzano
z risoluzione: 640×480, 1024×768, 1280×1024
z numero di colori per pixel: da 256 fino a 16 milioni
z Tecniche di compressione lossy
z riducono notevolmente lo spazio occupato dalle immagini
40
Compressione JPEG (esempio)
Fattore qualità
qualità 10% ( 12 KB ) Fattore qualità
qualità 1% ( 9 KB )
41
Codifica di filmati
z Immagini in movimento sono memorizzate come
sequenze di fotogrammi
z In genere si tratta di sequenze compresse di
immagini
z ad esempio si possono registrare solo le variazioni tra
un fotogramma e l’altro
z Esistono vari formati compressi (comprendenti
l’audio):
z mpeg
z divx
z quicktime
z realMedia
42
Codifica di sequenze sonore
z L’onda sonora (analogica) viene misurata ad
intervalli regolari (campionamento)
z Minore è l’intervallo di campionamento e maggiore
è la qualità del suono
z CD musicali:
z 44000 campionamenti al secondo, 16 bit per
campione.
z Alcuni formati
z wav
z midi
z mp3 (compresso)
43