Tipi di calcolatori e rappresentazione delle...
Transcript of Tipi di calcolatori e rappresentazione delle...
Versione: 14/10/10
Facoltà di Farmacia - Corso di Informatica 1
Avviso
http://www.ict4university.gov.it/iniziative/in-corso/diamogli-credito.aspx
Informazioni per accedere al credito per l'acquisto di un pc sono disponibili sul sito:
Lo trovate anche sulla mia pagina web sottoavvisi
Versione: 14/10/10
Facoltà di Farmacia - Corso di Informatica 2
Un breve prologo, in due parti....
Calcoliamo, con la macchina di Turing
3+2=?
Prima parte
Versione: 14/10/10
Rivediamo la macchina di Turing ...
Un nastro infinito ed una unita' di lettura e scrittura
Versione: 14/10/10
1. Legge il contenuto del nastro, una cella alla volta
2. Se la cella contiene un simbolopuo' cancellarlo
3. Se la cella e' vuota puo' scrivere un simbolo
La macchina...
Versione: 14/10/10
1. Queste operazioni sono eseguite
secondo certe regole, che dipendono dal problema che si vuole risolvere .
2. Quali regole vengano seguite
dipende dallo stato in cui si trova
la macchina.
Versione: 14/10/10
In altre parole....
1. Ogni stato equivale ad un diverso
modo di comportarsi cioe' ad
un diverso programma
2.La macchina puo' cambiare stato
(sempre secondo certe regole)
Versione: 14/10/10
Nel nostro caso......
Un unico simbolo “I”
Due soli stati “A” e “B”
Versione: 14/10/10
Posizione iniziale (P0) del nastro
vuote | | I | I | | I | I | I | | vuote
A
Il nastro va da sinistra a destra
2 3
Versione: 14/10/10
Le regole dipendono
dal problema: nel nostro
caso sono ......
Versione: 14/10/10
Cancella,passa allostato B e va alla cella successiva
Va allacella successiva
Va alla cella successiva
Scrivi il simbolo I e fermati
I vuota
A
B
Versione: 14/10/10
P0 | | I | I | | I | I | I | | P0 | | I | I | | I | I | I | | P0 | | I | I | | I | I | I | | P0 | | I | I | | I | I | I | |
P1 | | I | I | | I | I | I | |
AA
A
Cancella, passa allo stato B e prosegui
Versione: 14/10/10
P2 | | I | I | | I | I | | |
P3 | | I | I | | I | I | | |
B
B
quindi
e poi
In P2 e P3 si passa semplicementealla cella successiva
Versione: 14/10/10
P4 | | I | I | | I | I | | |
B
Scrivi il simbolo I e fermati, per cui finalmente
P5 | | I | I | I | I | I | | |
B
5 !
Versione: 14/10/10
Una macchina di Turing,
“reale”
Versione: 14/10/10
Versione: 14/10/10
Versione: 14/10/10
Seconda parte
Un micro-ripasso su
1. operazioni con potenze
2. logaritmi
Versione: 14/10/10
Versione: 14/10/10
In particolare useremo le potenze 2
2 k
Facoltà di Farmacia - Corso di Informatica 20
Potenze di 2
PotenzaPotenza ValoreValore2200 112211 222222 2*2 = 42*2 = 42233 2*2*2 = 82*2*2 = 82244 2*2*2*2 = 162*2*2*2 = 162255 2*2*2*2*2 = 322*2*2*2*2 = 322266 2*…*2 = 642*…*2 = 642277 2*…*2 = 1282*…*2 = 1282288 2*…*2 = 2562*…*2 = 256…… ……
Versione: 14/10/10
b e' il numero cui bisogna elevare
a (la base) per ottenere x
Passiamo ai logaritmi
Versione: 14/10/10
Ad esempio, in base 10
Noi pero' useremo la base 2...
Versione: 14/10/10
Facoltà di Farmacia - Corso di Informatica 23
Rappresentazione delleinformazioni
Riferimenti: Console cap. 2
Facoltà di Farmacia - Corso di Informatica 24
Tipi di segnali• Segnali digitali
– insieme discreto di valori, ad esempio due stati– semplici da distinguere– Es.: interruttore on/off
• Segnali analogici– insieme continuo di valori, trasmettono molte informazioni– sensibili alle interferenze– Es.: variatore di luminosità
Facoltà di Farmacia - Corso di Informatica 25
Digitale e analogico• Digitale o analogico?
– accensione di una vettura– lancette di un orologio– tasti di una calcolatrice– volume di uno stereo
• Vantaggi del digitale:– semplice– non ambiguo (non sensibile alle interferenze)– riproducibile senza errori
Facoltà di Farmacia - Corso di Informatica 26
Il bit
Segnale binariobinario: segnale discretodiscreto su duedue valori
bit: bbinary digitit (cifra binaria)
Elemento di base per rappresentare le informazioni
Facoltà di Farmacia - Corso di Informatica 27
Il bit
Perché il sistema binario?• è semplice• può rappresentare quasi ogni
informazione
Facoltà di Farmacia - Corso di Informatica 28
Come viene realizzato un bit• direzione di magnetizzazione• presenza/ assenza di corrente/tensione•passaggio/non passaggio di luce
Facoltà di Farmacia - Corso di Informatica 29
Rappresentazione delle informazioni
Un bit rappresenta 2 possibili informazioniEs.: sì/no, on/off, su/giù, vero/falso
Combinando più bit si rappresentano più informazioni. 2 bit 4 informazioni:
00, 01, 10, 11Es.: Un esame con 4 possibili esiti:insufficiente (00), sufficiente (01),
buono (10), ottimo (11)
La corrispondenza concetto/configurazione di bit è una convenzione!
Problema: misurare in maniera precisa l'informazione.
Fortunatamente il problema e' stato risolto da Shannon nel 1948
Supponiamo di avere N eventi possibili
1) lancio di una moneta N=2
2) lancio di un dado N=6
Prima del lancio :
Informazione (riguardo l'evento) =0
* a meno che non bariamo
Il verificarsi di un evento e' messaggio che ci manda la natura
Il verificarsi di un evento rimuove la nostra incertezza
Come possiamo calcolare
Incertezza prima dell'evento=informazione guadagnata?
N e' il numero di possibili eventi che possono accadere o messaggi che possono essere ricevuti
NB: Questa formula vale solo se tutti gli eventi sono equiprobabili!
Definizione di Shannon
H e' chiamata Informazioneo, piu' correttamente, Entropia; tanto per ripeterci, misural' incertezza a priori sul verificarsi di un evento = l'informazione a posteriori guadagnata con l'osservazione (di un particolare evento )
Dalla formula e' chiaro che al crescere del numero di eventi possibili N anche Hcresce.
Ad esempio nel caso del lancio di una moneta N=2
un bit di informazione
In generale l'andamento di H e'
rappresentabile con un grafico
Al crescere di N cresce H
Per N fissato, l'informazione (entropia) e' massimaIn caso di eventi equiprobabili
Facoltà di Farmacia - Corso di Informatica 40
Rappresentazione delle informazioni
Con 11 bit si rappresentano 22 informazioniCon 22 bit si rappresentano 44 informazioni
(2222)Con 33 bit si rappresentano 88 informazioni
(2233) …Con NN bit si rappresentano 22NN informazioni
Facoltà di Farmacia - Corso di Informatica 41
Rappresentazione delle informazioni
Per rappresentare KK informazioni, si deve utilizzare un numero di bit sufficiente per esprimerle tutte,
per cui devo scegliere NN in modo che 22NN ≥≥ K K
Facoltà di Farmacia - Corso di Informatica 42
EsempioPer rappresentare 6161 informazioni diverse si devono
usare N bit tali che
22NN ≥≥ 61 615 bit non sono sufficienti, infatti
2255 = 32 < 61 = 32 < 61Occorrono almeno 66 bit, infatti
2266 = 64 = 64 ≥≥ 61 61Un insieme di 6 bit può assumere 64 configurazioni
diverse:000000 / 000001 / 000010 /…
/ 111110 / 111111Alcune sequenze (la 62a, la 63a e la 64a) non
vengono utilizzate
Prove d'esame!
Facoltà di Farmacia - Corso di Informatica 44
Rappresentazione delle informazioni
Riassumendo:• 11 bit può assumere 22 valori• NN bit possono assumere 22NN valori, che
permettono di rappresentare 22NN informazioni
Quindi:Per rappresentare KK informazioni, si devono
usare NN bit, in modo che
22NN ≥≥ K K
Facoltà di Farmacia - Corso di Informatica 45
Il ByteÈ stato attribuito un significato particolare ai
gruppi di 8 bit; 8 bit8 bit formano un bytebyte
8 bit 28 bit 288 = 256 informazioni diverse = 256 informazioni diverse
Il byte viene utilizzato - insieme al bit - come unità di misura per esprimere la capacità della memoria, la potenza di un calcolatore, la velocità di trasmissione di una linea
Facoltà di Farmacia - Corso di Informatica 46
Unità di misura (bit)
Tra parentesi la nomenclatura standard ma meno usuale
Valore Nome Abbreviazione Potenza
1 bit b 20
1.024 Kilobit (kibibit)
Kb (Kib)
210
1.048.576 Megabit (Mebibit)
Mb (Mib)
220
1.073.741.824 Gigabit (Gibibit)
Gb (Gib)
230
1.099.511.627.776 Terabit (Tebibit)
Tb (Tib)
240
Facoltà di Farmacia - Corso di Informatica 47
Unità di misura (byte)
Tra parentesi la nomenclatura standard ma meno usuale
Valore Nome Abbreviazione Potenza
1 byte B 20
1.024 Kilobyte (kibibyte)
KB (KiB)
210
1.048.576 Megabyte (Mebibyte)
MB (MiB)
220
1.073.741.824 Gigabyte (Gibibyte)
GB (GiB)
230
1.099.511.627.776 Terabyte (Tebibyte)
TB (TiB)
240
analoghe al bit. (1 byte = 8 bit)
Altra prova
Per concludere ......
Informazione e DNA
Facoltà di Farmacia - Corso di Informatica 50
Rappresentazione dei numeri
Ci serve una rappresentazione adatta all’elaboratore, ma prima di tutto ci serve fare un po’ di chiarezza sui problemi legati alla rappresentazione dei numeri. Iniziamo con il distinguere tra numerale numerale e numero numero.
numeralenumerale: simbolo che rappresenta un numero• I numerali differiscono dai numeri come le parole
differiscono dai concetti che rappresentano• Es.: 6, sei, VI, six rappresentano tutti lo stessostesso numero
“What’s in a name? That which we call a rose by any other name would smell as sweet.”
Facoltà di Farmacia - Corso di Informatica 51
Notazione Posizionale
Obiettivo: Stiamo cercando un modo efficiente di rappresentare i numeri (i.e. delle quantità).
Soluzione inefficiente: usiamo un simbolo per indicare un oggetto. Es. Scriviamo III per indicare il numero tre.Scriviamo IIIII per indicare il numero cinque.Scriviamo IIIIIIIIII per indicare il numero dieci.…
Problema: Utilizziamo “tanti simboli” quanti sono gli oggetti. Non è una soluzione praticabile quando gli oggetti sono nell’ordine dei milioni.
Facoltà di Farmacia - Corso di Informatica 52
Notazione PosizionalePosizione
012
Facoltà di Farmacia - Corso di Informatica 53
Notazione Posizionale
La notazione posizionale non è l’unica possibile (es. i numeri romani non sono in notazione posizionale)
Vantaggi della notazione posizionale:–Efficiente - Il numero di oggetti indicato cresce esponenzialmente con il numero di cifre usate
–Potente - Gli “algoritmi” che implementano le quattro operazioni sono “semplici”
Facoltà di Farmacia - Corso di Informatica 54
Il sistema di numerazione decimale
• DecimaleDecimale: “alfabeto” di 10 cifre ⇒ 0, 1, 2, …, 9
• numerale 245245: – 22 centinaia, 44 decine, 55 unità
cioè – 22 volte 101022+ 44 volte 101011+ 55 volte 101000
• La potenza di 10 da considerare dipende dalla posizioneposizione della cifra
Facoltà di Farmacia - Corso di Informatica 55
Il sistema di numerazione decimale
• Notazione posizionaleNotazione posizionale: la posizione di una cifra in un numerale indica il suo pesopeso in potenze di 1010I pesi sono:– unità = 1000 = 1 (posizione 00)
– decine = 1011 = 10 (posizione 11)
– centinaia = 1022 = 100 (posizione 22)
– migliaia = 1033 = 1000 (posizione 33)– … … … … … … …
Facoltà di Farmacia - Corso di Informatica 56
Rappresentazione decimaleIl numeralenumerale 3704 in notazione decimale (= in base 1010)
rappresenta la quantità:
3704 (numeralenumerale) =
3*101033 + 7*101022 + 0*101011 + 4*101000 =
3000 + 700 + 0 + 4 = 3704 (numeronumero) N.B.: Di norma utilizziamo un unico sistema (quello
decimale) per la rappresentazione dei numeri. Pertanto è comune “confondere” numero e numerale. In realtà esiste un numero infinito di modi di rappresentare lo stesso numero. Se vogliamo evitare ambiguità, usiamo la notazione 370437041010
Facoltà di Farmacia - Corso di Informatica 57
Il sistema di numerazione binario
• BinarioBinario: “alfabeto” di 2 cifre di base ⇒ 0, 1
numerale 10110122:
– 11 volta 2222, 00 volte 2211, 11 volta 2200
• La potenza di 2 da considerare dipende dalla posizioneposizione della cifra
Facoltà di Farmacia - Corso di Informatica 58
Il sistema di numerazione binario
• Notazione posizionaleNotazione posizionale: la posizione di una cifra in un numerale indica il suo pesopeso in potenze di 22I pesi sono:– 20 = 1 (posizione 00)
– 21 = 2 (posizione 11)
– 22 = 4 (posizione 22)
– 23 = 8 (posizione 33)– … … … …
Facoltà di Farmacia - Corso di Informatica 59
Rappresentazione binariaIl numeralenumerale 100100112 in notazione binaria
(o in base 22) rappresenta la quantità:
100100112 (numeralenumerale) =
1*2277 + 0*2266 + 0*2255 + 1*2244 + 0*2233 + 0*2222 + 1*2211 + 1*2200 =
128 + 0 + 0 + 16 + 0 + 0 + 2 + 1 =
147 (numeronumero)
Facoltà di Farmacia - Corso di Informatica 60
Rappresentazione binaria
Facoltà di Farmacia - Corso di Informatica 61
Massimo numero rappresentabile
Massimo numero rappresentabile:il numero più grande esprimibile con un dato
numero di cifre (decimali, binarie, …)NON coincide con il numero di informazioni
rappresentabili!Per esempio, con 2 cifre decimali rappresento
100 numeri distinti, ma il numero più grande che posso rappresentare utilizzando la notazione decimale a due cifre è 9910
(Questo perché si inizia a contare da 0)
Facoltà di Farmacia - Corso di Informatica 62
Massimo numero rappresentabile
Numeri a 22 cifre
• Sistema decimale: – 100 (1022) numeri diversi
– da 010 a 9910 , cioè da 0 a 1022 – 1
– massimo numero rappresentabile: 102 2 – 1
• Sistema binario: – 4 (222) numeri diversi
– da 02 a 112 (da 0 a 3), cioè da 0 a 222 – 1
– massimo numero rappresentabile: 22 2 – 1
Facoltà di Farmacia - Corso di Informatica 63
Massimo numero rappresentabile
Numeri a NN cifre
• Sistema decimale: – 10NN numeri diversi– da 010 a 9…910, cioè da 0 a 10NN – 1
– massimo numero rappresentabile: 10N N – 1
• Sistema binario: – 2NN numeri diversi– da 02 a 1…12, cioè da 0 a 2NN – 1
– massimo numero rappresentabile: 2N N – 1
NN
NN
Facoltà di Farmacia - Corso di Informatica 64
Massimo numero rappresentabile
Esempio con 8 cifre:111111112 (8 bit) = 28 -1 = 25510
Per rappresentare il numero 25610 ci vuole un bit in più:
25610 = 1000000002 = 1*28
Facoltà di Farmacia - Corso di Informatica 65
Riassumendo...Definendo il numero di cifre con cui si
rappresentano i numeri, si definisce anche il massimo numero rappresentabile:
• con 16 bit: 216-1 = 65.535• con 32 bit: 232-1 = 4.294.967.295• con 64 bit: 264-1 = 18446744073709551615 ≈
1,84 * 1019
È possibile rappresentare numeri più grandinumeri più grandi a spese della precisione
Facoltà di Farmacia - Corso di Informatica 67
Incoraggiamento
“In mathematics you don’t understand things. You just get used to them.”
John von Neumann, matematico e pioniere dell’Informatica
Facoltà di Farmacia - Corso di Informatica 68
Sistema decimaleNumerale 3451010
Facoltà di Farmacia - Corso di Informatica 69
Sistema decimaleNumerale 3451010
posizione: 22 0011
Facoltà di Farmacia - Corso di Informatica 70
Sistema decimaleNumerale 3451010
posizione: 22 0011
Facoltà di Farmacia - Corso di Informatica 71
Sistema decimaleNumerale 3451010
posizione: 22 0011
Facoltà di Farmacia - Corso di Informatica 72
Sistema decimaleNumerale 3451010
posizione:
101022
22
101022
101022
3
0011
Facoltà di Farmacia - Corso di Informatica 73
Sistema decimaleNumerale 3451010
posizione:
101022
22
101022
101022
3
0011
cifra del numerale
Facoltà di Farmacia - Corso di Informatica 74
Sistema decimaleNumerale 3451010
posizione:
101022
22
101022
101022
3
0011
cifra del numerale
posizione
Facoltà di Farmacia - Corso di Informatica 75
Sistema decimaleNumerale 3451010
posizione:
101022
22
101022
101022
3
0011
cifra del numerale
posizionebase
Facoltà di Farmacia - Corso di Informatica 76
Sistema decimaleNumerale 3451010
posizione:
101022
22
101022
101022
101011
11
101011
101011
101011
43
00
Facoltà di Farmacia - Corso di Informatica 77
Sistema decimaleNumerale 3451010
posizione:
101022
22
101022
101022
101000
00
101000
101000
101000
101000
5
101011
11
101011
101011
101011
43
Facoltà di Farmacia - Corso di Informatica 78
Sistema decimaleNumerale 3451010
posizione:
101022
22
101022
101022
101000
00
101000
101000
101000
101000
5
101011
11
101011
101011
101011
43
Numero: 3*101022
Facoltà di Farmacia - Corso di Informatica 79
Sistema decimaleNumerale 3451010
posizione:
101022
22
101022
101022
101000
00
101000
101000
101000
101000
5
101011
11
101011
101011
101011
43
Numero: 3*101022 4*101011
Facoltà di Farmacia - Corso di Informatica 80
Sistema decimaleNumerale 3451010
posizione:
101022
22
101022
101022
101000
00
101000
101000
101000
101000
5
101011
11
101011
101011
101011
43
Numero: 3*101022 4*101011 5*101000
Facoltà di Farmacia - Corso di Informatica 81
Sistema decimaleNumerale 3451010
posizione:
101022
22
101022
101022
101000
00
101000
101000
101000
101000
5
101011
11
101011
101011
101011
43
Numero: 3*101022 + 4*101011 + 5*101000
Facoltà di Farmacia - Corso di Informatica 82
Sistema decimaleNumerale 3451010
posizione:
101022
22
101022
101022
101000
00
101000
101000
101000
101000
5
101011
11
101011
101011
101011
43
Numero: 3*101022 + 4*101011 + 5*101000 =345
Facoltà di Farmacia - Corso di Informatica 83
Sistema binarioNumerale 11122
Facoltà di Farmacia - Corso di Informatica 84
Sistema binarioNumerale 11122
posizione: 22 0011
Facoltà di Farmacia - Corso di Informatica 85
Sistema binarioNumerale 11122
22 0011posizione:
Facoltà di Farmacia - Corso di Informatica 86
Sistema binarioNumerale 11122
2222 1
22posizione: 0011
cifra del numerale
posizionebase
Facoltà di Farmacia - Corso di Informatica 87
Sistema binarioNumerale 11122
2222 1 2211 1
22 11posizione: 00
Facoltà di Farmacia - Corso di Informatica 88
Sistema binarioNumerale 11122
2222 1 2211 1 2200 1
22 0011posizione:
Facoltà di Farmacia - Corso di Informatica 89
Sistema binarioNumerale 11122
2222 1
Numero: 1*2222
2211 1 2200 1
22 0011posizione:
Facoltà di Farmacia - Corso di Informatica 90
Sistema binarioNumerale 11122
2222 1
Numero: 1*2222 1*2211
2211 1 2200 1
22 0011posizione:
Facoltà di Farmacia - Corso di Informatica 91
Sistema binarioNumerale 11122
2222 1
Numero: 1*2222 1*2211 1*2200
2211 1 2200 1
22 0011posizione:
Facoltà di Farmacia - Corso di Informatica 92
Sistema binarioNumerale 11122
2222 1
Numero: 1*2222 + 1*2211 + 1*2200
2211 1 2200 1
22 0011posizione:
Facoltà di Farmacia - Corso di Informatica 93
Sistema binarioNumerale 11122
2222 1
Numero: 1*2222 + 1*2211 + 1*2200 = = 4 + 2 + 1 = 7
2211 1 2200 1
22 0011posizione:
Facoltà di Farmacia - Corso di Informatica 94
Conversione da base 2 a base 10
• È sufficiente moltiplicare ogni bit per il suo peso e sommare.
Facoltà di Farmacia - Corso di Informatica 95
Conversione da base 2 a base 10
• È sufficiente moltiplicare ogni bit per il suo peso e sommare. Esempio:
110102 =
Facoltà di Farmacia - Corso di Informatica 96
Conversione da base 2 a base 10
• È sufficiente moltiplicare ogni bit per il suo peso e sommare. Esempio:
110102 =
1*24 + 1*23 + 0*22 + 1*21 + 0*20 =
Facoltà di Farmacia - Corso di Informatica 97
Conversione da base 2 a base 10
• È sufficiente moltiplicare ogni bit per il suo peso e sommare. Esempio:
110102 =
1*24 + 1*23 + 0*22 + 1*21 + 0*20 == 16 + 8 + 2 = 2610 = 26
Facoltà di Farmacia - Corso di Informatica 98
Conversione da base 2 a base 10
• È sufficiente moltiplicare ogni bit per il suo peso e sommare. Esempio:
110102 =
1*24 + 1*23 + 0*22 + 1*21 + 0*20 == 16 + 8 + 2 = 2610 = 26
• Somma di potenze di 2Somma di potenze di 2!
Facoltà di Farmacia - Corso di Informatica 99
Conversione da base 2 a base 10
• È sufficiente moltiplicare ogni bit per il suo peso e sommare. Esempio:
110102 =1*24 + 1*23 + 0*22 + 1*21 + 0*20 =
= 16 + 8 + 2 = 2610 = 26• Somma di potenze di 2Somma di potenze di 2!Notiamo:• un numero la cui rappresentazione binaria termina con
0 è pari, altrimenti (con 1) è dispari• il resto della divisione di un numero per 2 è 0 se il
numero è pari, 1 se è dispari• Il resto della divisione di un numero per 2 è 0 se
l’ultima cifra della sua rappresentazione binaria è 0, il resto è 1 se l’ultima cifra è 1.
Facoltà di Farmacia - Corso di Informatica 100
Conversione da base 10 a base 2
• Idea:Idea: effettuiamo divisioni successive per 2 del numero N e consideriamo i resti
Facoltà di Farmacia - Corso di Informatica 101
Conversione da base 10 a base 2
• Idea:Idea: effettuiamo divisioni successive per 2 del numero N e consideriamo i resti
• Algoritmo:Algoritmo:
– Passo 1: Dividere NN per 2 e memorizzare il resto
Facoltà di Farmacia - Corso di Informatica 102
Conversione da base 10 a base 2
• Idea:Idea: effettuiamo divisioni successive per 2 del numero N e consideriamo i resti
• Algoritmo:Algoritmo:
– Passo 1: Dividere NN per 2 e memorizzare il resto
– Passo 2: Ripetere il passo 1 finché il numero diventa 0
Facoltà di Farmacia - Corso di Informatica 103
Conversione da base 10 a base 2
• Idea:Idea: effettuiamo divisioni successive per 2 del numero N e consideriamo i resti
• Algoritmo:Algoritmo:
– Passo 1: Dividere NN per 2 e memorizzare il resto
– Passo 2: Ripetere il passo 1 finché il numero diventa 0
– Passo 3: Prendere i resti in ordine inverso e scriverli da sinistra a destra
Facoltà di Farmacia - Corso di Informatica 104
Conversione da base 10 a base 2
• Consideriamo il numerale 19010:
Facoltà di Farmacia - Corso di Informatica 105
Conversione da base 10 a base 2
• Consideriamo il numerale 19010:190/2190/2 == 9595 resto 0resto 0
Facoltà di Farmacia - Corso di Informatica 106
Conversione da base 10 a base 2
• Consideriamo il numerale 19010:190/2190/2 == 9595 resto 0resto 095/295/2 == 4747 resto 1resto 1
Facoltà di Farmacia - Corso di Informatica 107
Conversione da base 10 a base 2
• Consideriamo il numerale 19010:190/2190/2 == 9595 resto 0resto 095/295/2 == 4747 resto 1resto 147/247/2 == 2323 resto 1resto 1
Facoltà di Farmacia - Corso di Informatica 108
Conversione da base 10 a base 2
• Consideriamo il numerale 19010:190/2190/2 == 9595 resto 0resto 095/295/2 == 4747 resto 1resto 147/247/2 == 2323 resto 1resto 123/223/2 == 1111 resto 1resto 1
Facoltà di Farmacia - Corso di Informatica 109
Conversione da base 10 a base 2
• Consideriamo il numerale 19010:190/2190/2 == 9595 resto 0resto 095/295/2 == 4747 resto 1resto 147/247/2 == 2323 resto 1resto 123/223/2 == 1111 resto 1resto 111/211/2 == 55 resto 1resto 1
Facoltà di Farmacia - Corso di Informatica 110
Conversione da base 10 a base 2
• Consideriamo il numerale 19010:190/2190/2 == 9595 resto 0resto 095/295/2 == 4747 resto 1resto 147/247/2 == 2323 resto 1resto 123/223/2 == 1111 resto 1resto 111/211/2 == 55 resto 1resto 15/25/2 == 22 resto 1resto 1
Facoltà di Farmacia - Corso di Informatica 111
Conversione da base 10 a base 2
• Consideriamo il numerale 19010:190/2190/2 == 9595 resto 0resto 095/295/2 == 4747 resto 1resto 147/247/2 == 2323 resto 1resto 123/223/2 == 1111 resto 1resto 111/211/2 == 55 resto 1resto 15/25/2 == 22 resto 1resto 12/22/2 == 11 resto 0resto 0
Facoltà di Farmacia - Corso di Informatica 112
Conversione da base 10 a base 2
• Consideriamo il numerale 19010:190/2190/2 == 9595 resto 0resto 095/295/2 == 4747 resto 1resto 147/247/2 == 2323 resto 1resto 123/223/2 == 1111 resto 1resto 111/211/2 == 55 resto 1resto 15/25/2 == 22 resto 1resto 12/22/2 == 11 resto 0resto 01/21/2 == 00 resto 1resto 1
Facoltà di Farmacia - Corso di Informatica 113
Conversione da base 10 a base 2
• Consideriamo il numerale 19010:190/2190/2 == 9595 resto 0resto 095/295/2 == 4747 resto 1resto 147/247/2 == 2323 resto 1resto 123/223/2 == 1111 resto 1resto 111/211/2 == 55 resto 1resto 15/25/2 == 22 resto 1resto 12/22/2 == 11 resto 0resto 01/21/2 == 00 resto 1resto 1
• Leggiamo i resti dal basso verso l’alto:
Facoltà di Farmacia - Corso di Informatica 114
Conversione da base 10 a base 2
• Consideriamo il numerale 19010:190/2190/2 == 9595 resto 0resto 0
95/295/2 == 4747 resto 1resto 147/247/2 == 2323 resto 1resto 123/223/2 == 1111 resto 1resto 111/211/2 == 55 resto 1resto 15/25/2 == 22 resto 1resto 12/22/2 == 11 resto 0resto 01/21/2 == 00 resto 1resto 1
• Leggiamo i resti dal basso verso l’alto: la rappresentazione binaria del numerale 19010 è 101111102
Facoltà di Farmacia - Corso di Informatica 115
Perché funziona?
Il numero che vogliamo rappresentare ha una rappresentazione binaria del tipo
xNxN-1 …x1x0
Il numero si può pensare come la somma di potenze di due:
xN*2N+xN-1 *2N-1 +…+x1*21+x0*20
Facoltà di Farmacia - Corso di Informatica 116
Perché funziona?Noi siamo interessati a trovare x0,x1,x2,etc.
Proviamo a dividere il numero per due e vediamo cosa succede
(xN*2N+xN-1 *2N-1 +…+x1*21+x0*20)/2 =
xN*2N-1 +xN-1 *2N-2 +…+x1*20 con resto x0
NotiamoNotiamo:
• Il resto della divisione è pari alla cifra meno significativa del numero che cerchiamo
• Il risultato della divisione ha le stesse cifre binarie del numero originale (tranne l’ultima), ma queste sono “spostate” tutte a destra di una posizione.
Proviamo a sommare due numeriin notazione binaria
101+ 11=?
Possiamo fare in due modi!
1. Trasformiamo i numeri in notazione decimale sommiamoe ritrasformiamo in binario
1012 = 5 10
11 = 310
+
==
8
10
10
2
Ritrasformando 8 10 = 10002
Oppure possiamo calcolare la somma usando le regole di calcolo in binario
101 +
11
1000
1 1 riporto
Dati 6 bit, quante informazioni distinte si possono rappresentare?
Quante informazioni distinte si possono rappresentare con un byte?
Quanti bit si devono utilizzare per rappresentare 20 informazioni distinte?
Qualche semplice esercizio....
Facoltà di Farmacia - Corso di Informatica 122
Codificate i seguenti numeri nella corrispondente rappresentazione decimale:
– 1012
– 10112
– 11012 – 100000012 – 110011002
– 111111112
Codificate i seguenti numeri nella corrispondente rappresentazione binaria:
– 810 – 710
– 6010
– 28110
Verificate i risultati convertendoli nella rappresentazione decimale.
• Dato il numero 86210 qual è il numero minimo di bit che si devono usare per la sua rappresentazione binaria?
ed ancora....
e per finire ........
Calcolare 1100 +1101 (binari!)
nei due modi spiegati a lezione
Facoltà di Farmacia - Corso di Informatica 126
Numeri positivi e negativi
ProblemaProblema• Come rappresentare anche i numeri
negativi?
Facoltà di Farmacia - Corso di Informatica 127
Numeri positivi e negativi
ProblemaProblema• Come rappresentare anche i numeri
negativi?
Soluzione ingenua (provvisoria)Soluzione ingenua (provvisoria) Usiamo:• 1 bit per rappresentare il segno• gli altri bit per rappresentare il valore
assoluto del numero
Facoltà di Farmacia - Corso di Informatica 128
Numeri positivi e negativiIl segno viene rappresentato dal bit più
significativo (MSB), il bit più a sinistra:• 0 indica un numero positivo• 1 indica un numero negativo
Facoltà di Farmacia - Corso di Informatica 129
Numeri positivi e negativi
Il segno viene rappresentato dal bit più significativo (MSB), il bit più a sinistra:
• 0 indica un numero positivo• 1 indica un numero negativoProblema:Problema: due rappresentazioni dello 0: -0, +0
Facoltà di Farmacia - Corso di Informatica 130
Numeri positivi e negativi
Il segno viene rappresentato dal bit più significativo (MSB), il bit più a sinistra:
• 0 indica un numero positivo• 1 indica un numero negativoProblema:Problema: due rappresentazioni dello 0: -0, +0Occorre una rappresentazione diversa:Occorre una rappresentazione diversa:
Complemento a dueComplemento a due
Facoltà di Farmacia - Corso di Informatica 131
Rappresentazione in complemento a due
Anziché usare un byte per rappresentare i numeri da 0 a 255, lo usiamo per i numeri da -128 a 127:
da 000000002 = 010 a 011111112 = 12710
e da 100000002 = -12810 a 111111112 = -110
Facoltà di Farmacia - Corso di Informatica 132
Rappresentazione in complemento a due
Ad es., anziché usare un byte per rappresentare i numeri da 0 a 255, lo usiamo per i numeri da -128 a 127:
Usiamo le configurazioni da 000000002 a 01111112 per
rappresentare i numeri positivi da 010 a 12710
Usiamo le configurazioni da 100000002 a 111111112 per
rappresentare i numeri negativi da -110 a -12810
Analogamente: usando 16 bit rappresentiamo da –215 a 215 – 1
cioè da –32768 a +32767 usando 32 bit rappresentiamo da –231 a 231 – 1
cioè da –2.147.483.648 a +2.147.483.647 usando N bit rappresentiamo da –2N-1 a 2N-1 – 1
Facoltà di Farmacia - Corso di Informatica 133
Come realizzo praticamente questa idea?1. Lasciamo inalterati la codifica dei numeri
positivi
Rappresentazione in complemento a due
Facoltà di Farmacia - Corso di Informatica 134
Come realizzo praticamente questa idea?1. Lasciamo inalterati la codifica dei numeri positivi.
Esempio:Supponiamo di volere usare 3 bit per la codifica.Possiamo codificare 8 valori: -4,-3,-2,-1,0,1,2,3
Lasciando inalterata la codifica dei numeri positivi otteniamo: 000 0001 1010 2011 3
Rappresentazione in complemento a due
Facoltà di Farmacia - Corso di Informatica 135
Come realizzo praticamente questa idea?1. Lasciamo inalterati la codifica dei numeri
positivi2. Per rappresentare i numeri negativi abbiamo a
disposizione i numerali100101110111
Rappresentazione in complemento a due
Facoltà di Farmacia - Corso di Informatica 136
Come realizzo praticamente questa idea?1. Lasciamo inalterati la codifica dei numeri
positivi2. Per rappresentare i numeri negativi abbiamo a
disposizione i numerali100 -1101 -2110 -3111 -4
Rappresentazione in complemento a due
Possibile codifica
Facoltà di Farmacia - Corso di Informatica 137
Come realizzo praticamente questa idea?1. Lasciamo inalterati la codifica dei numeri
positivi2. Per rappresentare i numeri negativi abbiamo a
disposizione i numerali100 -1101 -2110 -3111 -4
Rappresentazione in complemento a due
Possibile codifica
Facoltà di Farmacia - Corso di Informatica 138
Come realizzo praticamente questa idea?1. Lasciamo inalterati la codifica dei numeri
positivi2. Per rappresentare i numeri negativi abbiamo a
disposizione i numerali100 -4101 -3110 -2111 -1
Rappresentazione in complemento a due
Codifica in complemento a 2
Facoltà di Farmacia - Corso di Informatica 139
Rappresentazione in complemento a due
100101110111
000001010011
-4-3-2-1
0123
Quindi
Facoltà di Farmacia - Corso di Informatica 140
Rappresentazione in complemento a due
Ulteriore prospettiva:
Facoltà di Farmacia - Corso di Informatica 141
Rappresentazione in complemento a due
Ulteriore prospettiva:
Dato un numero positivo come si ottiene il corrispondente negativo?
Con tre facili passi!
1. Si rappresenta il numero in complementoa due (quindi con uno 0 come primo bit)
2. Si invertono tutti i bit, cioe' si pone 0 al posto di 1 e viceversa
3. Si somma 1 al risultato cosi' ottenuto
Esempio: rappresentazione di -5
1. Con 4 bits la rappresentazione in complemento a due di +5 e'
0101
Indica che il numero e' positivo
2. Invertendo tutti i bits si ottiene
1010
3. Aggiungendo 1 si ha 1011
Nel caso di -3
1. +3 in notazione binaria in complemento a due e' 011
2. invertendo i bits si ottiene 100
3. infine aggiungendo 1 ottengo 101
3. Utilizzo l'algoritmo che abbiamo appena visto per ottenere -1, -2, -3
4. E -4? Facile, gli assegno l'ultimo simbolo rimasto cioe' 100
In definitiva, per la codifica da -4 a +3
2. Codifico i numeri positivi (compreso lo 0)con il metodo usuale.
1. Considero sequenze di 3 bit: assegno ai numeri positivi quelle che cominciano con 0 e ai negativi quelle che iniziano con 1.
Quindi
0 000 111 -1 1 001 110 -22 010 101 -33 011 100 -4
Importante:la codifica complemento a due dipende in modo cruciale dal numero di bit che usiamo
Ad esempio, con 4 bit: 3=0011e applicando la regola di trasformazione -3=1101
Tuttavia le regole sono sempre le stesse. Ad esempio con 4 bit
0 0000 1111 -1 1 0001 1110 -22 0010 1101 -33 0011 1100 -44 0100 1011 -55 0101 1010 -66 0110 1001 -77 0111 1000 -8
Facoltà di Farmacia - Corso di Informatica 149
Conversione da complemento a due su N bit a decimale
Il bit più significativo identifica il segno (0+, 1–)
Facoltà di Farmacia - Corso di Informatica 150
Conversione da complemento a due su N bit a decimale
Il bit più significativo identifica il segno (0+, 1–)•se il numero è positivo, fare conversione usuale
000 0001 1010 2011 3
Facoltà di Farmacia - Corso di Informatica 151
Conversione da complemento a due su N bit a decimale
Il bit più significativo identifica il segno (0+, 1–)•se il numero è positivo, fare conversione usuale •se il numero è negativo,
Facoltà di Farmacia - Corso di Informatica 152
Conversione da complemento a due su N bit a decimale
Il bit più significativo identifica il segno (0+, 1–)•se il numero è positivo, fare conversione usuale •se il numero è negativo,
– fare conversione usuale e sottrarre 2N
Facoltà di Farmacia - Corso di Informatica 153
Conversione da complemento a due su N bit a decimale
Il bit più significativo identifica il segno (0+, 1–)•se il numero è positivo, fare conversione usuale •se il numero è negativo,
– fare conversione usuale e sottrarre 2N
100 4-23 = -4101 5-23 = -3110 6-23 = -2111 7-23 = -1
Facoltà di Farmacia - Corso di Informatica 154
Conversione da complemento a due su N bit a decimale
Il bit più significativo identifica il segno (0+, 1–)•se il numero è positivo, fare conversione usuale •se il numero è negativo,
– fare conversione usuale e sottrarre 2N
oppure– invertire i bit (0 1, 1 0), fare conversione usuale,
sommare 1, cambiare segno
Facoltà di Farmacia - Corso di Informatica 155
Conversione da complemento a due su N bit a decimale
Il bit più significativo identifica il segno (0+, 1–)
•se il numero è positivo, fare conversione usuale •se il numero è negativo,
– fare conversione usuale e sottrarre 2N
oppure– invertire i bit (0 1, 1 0), fare conversione
usuale, sommare 1, cambiare segno
Esempi:010011012
Facoltà di Farmacia - Corso di Informatica 156
Conversione da complemento a due su N bit a decimale
Il bit più significativo identifica il segno (0+, 1–)
•se il numero è positivo, fare conversione usuale •se il numero è negativo,
– fare conversione usuale e sottrarre 2N
oppure– invertire i bit (0 1, 1 0), fare conversione
usuale, sommare 1, cambiare segno
Esempi:010011012
Facoltà di Farmacia - Corso di Informatica 157
Conversione da complemento a due su N bit a decimale
Il bit più significativo identifica il segno (0+, 1–)
•se il numero è positivo, fare conversione usualefare conversione usuale •se il numero è negativo,
– fare conversione usuale e sottrarre 2N
oppure– invertire i bit (0 1, 1 0), fare conversione
usuale, sommare 1, cambiare segno
Esempi:010011012 = 7710
Facoltà di Farmacia - Corso di Informatica 158
Conversione da complemento a due su N bit a decimale
Il bit più significativo identifica il segno (0+, 1–)
•se il numero è positivo, fare conversione usuale •se il numero è negativo,
– fare conversione usuale e sottrarre 2N
oppure– invertire i bit (0 1, 1 0), fare conversione
usuale, sommare 1, cambiare segno
Esempi:100010102
Facoltà di Farmacia - Corso di Informatica 159
Conversione da complemento a due su N bit a decimale
Il bit più significativo identifica il segno (0+, 1–)
•se il numero è positivo, fare conversione usuale •se il numero è negativo,
– fare conversione usuale e sottrarre 2N
oppure– invertire i bit (0 1, 1 0), fare conversione
usuale, sommare 1, cambiare segno
Esempi:100010102
Facoltà di Farmacia - Corso di Informatica 160
Conversione da complemento a due su N bit a decimale
Il bit più significativo identifica il segno (0+, 1–)
•se il numero è positivo, fare conversione usuale •se il numero è negativo,
– fare conversione usuale e sottrarre 2N
oppure– invertire i bit (0 1, 1 0), fare conversione
usuale, sommare 1, cambiare segno
Esempi:100010102
Facoltà di Farmacia - Corso di Informatica 161
Conversione da complemento a due su N bit a decimale
Il bit più significativo identifica il segno (0+, 1–)
•se il numero è positivo, fare conversione usuale •se il numero è negativo,
– fare conversione usualefare conversione usuale e sottrarre 2N
oppure– invertire i bit (0 1, 1 0), fare conversione
usuale, sommare 1, cambiare segno
Esempi:100010102 ⇒ 13810
Facoltà di Farmacia - Corso di Informatica 162
Conversione da complemento a due su N bit a decimale
Il bit più significativo identifica il segno (0+, 1–)
•se il numero è positivo, fare conversione usuale •se il numero è negativo,
– fare conversione usuale e sottrarre 2sottrarre 2NN
oppure– invertire i bit (0 1, 1 0), fare conversione
usuale, sommare 1, cambiare segno
Esempi:100010102 ⇒ 13810 - 25610
Facoltà di Farmacia - Corso di Informatica 163
Conversione da complemento a due su N bit a decimale
Il bit più significativo identifica il segno (0+, 1–)
•se il numero è positivo, fare conversione usuale •se il numero è negativo,
– fare conversione usuale e sottrarre 2N
oppure– invertire i bit (0 1, 1 0), fare conversione
usuale, sommare 1, cambiare segno
Esempi:100010102 ⇒ 13810 - 25610 = -11810
Facoltà di Farmacia - Corso di Informatica 164
Conversione da complemento a due su N bit a decimale
Il bit più significativo identifica il segno (0+, 1–)
•se il numero è positivo, fare conversione usuale •se il numero è negativo,
– fare conversione usuale e sottrarre 2N
oppure– invertire i bit (0 1, 1 0), fare conversione
usuale, sommare 1, cambiare segno
Esempi:100010102
Facoltà di Farmacia - Corso di Informatica 165
Conversione da complemento a due su N bit a decimale
Il bit più significativo identifica il segno (0+, 1–)
•se il numero è positivo, fare conversione usuale •se il numero è negativo,
– fare conversione usuale e sottrarre 2N
oppure– invertire i bit (0 invertire i bit (0 1, 1 1, 1 0) 0), fare conversione
usuale, sommare 1, cambiare segno
Esempi:100010102⇒011101012
Facoltà di Farmacia - Corso di Informatica 166
Conversione da complemento a due su N bit a decimale
Il bit più significativo identifica il segno (0+, 1–)
•se il numero è positivo, fare conversione usuale •se il numero è negativo,
– fare conversione usuale e sottrarre 2N
oppure– invertire i bit (0 1, 1 0), fare conversione fare conversione
usualeusuale, sommare 1, cambiare segno
Esempi:100010102⇒011101012 ⇒ 11710
Facoltà di Farmacia - Corso di Informatica 167
Conversione da complemento a due su N bit a decimale
Il bit più significativo identifica il segno (0+, 1–)
•se il numero è positivo, fare conversione usuale •se il numero è negativo,
– fare conversione usuale e sottrarre 2N
oppure– invertire i bit (0 1, 1 0), fare conversione
usuale, sommare 1sommare 1, cambiare segno
Esempi:100010102⇒011101012⇒11710+1=11810
Facoltà di Farmacia - Corso di Informatica 168
Conversione da complemento a due su N bit a decimale
Il bit più significativo identifica il segno (0+, 1–)•se il numero è positivo, fare conversione usuale •se il numero è negativo,
– fare conversione usuale e sottrarre 2N
oppure– invertire i bit (0 1, 1 0), fare conversione
usuale, sommare 1, cambiare segnocambiare segnoEsempi:100010102⇒011101012⇒11710 +1=11810 = -11810
Facoltà di Farmacia - Corso di Informatica 169
Vantaggi della codifica in complemento a due
• “Facile” passare dalla rappresentazione decimale a quella in complemento a due e viceversa
• L’operazione di somma (e di conseguenza la sottrazione, la moltiplicazione,…) rimane invariata (questa è una caratteristica molto importante di questa codifica)
Facoltà di Farmacia - Corso di Informatica 170
L’operazione di somma rimane invariata!
1+1 = 001 + 001 = 0
Es. 1
Facoltà di Farmacia - Corso di Informatica 171
L’operazione di somma rimane invariata!
1+1 = 001 + 001 = 10
Es.
Facoltà di Farmacia - Corso di Informatica 172
L’operazione di somma rimane invariata!
1+1 = 001 + 001 = 010 = 2
Es.
Facoltà di Farmacia - Corso di Informatica 173
L’operazione di somma rimane invariata!
1+1 = 001 + 001 = 010 = 2
2-1
Es.
Facoltà di Farmacia - Corso di Informatica 174
L’operazione di somma rimane invariata!
1+1 = 001 + 001 = 010 = 2
2-1 =2+(-1)
Es.
Facoltà di Farmacia - Corso di Informatica 175
L’operazione di somma rimane invariata!
1+1 = 001 + 001 = 010 = 2
2-1 =2+(-1)= 010 + 111 =
Es.
Facoltà di Farmacia - Corso di Informatica 176
L’operazione di somma rimane invariata!
1+1 = 001 + 001 = 010 = 2
2-1 =2+(-1)= 010 + 111 = 1
Es.
Facoltà di Farmacia - Corso di Informatica 177
L’operazione di somma rimane invariata!
1+1 = 001 + 001 = 010 = 2
2-1 =2+(-1)= 010 + 111 = 01
Es.
1
Facoltà di Farmacia - Corso di Informatica 178
L’operazione di somma rimane invariata!
1+1 = 001 + 001 = 010 = 2
2-1 =2+(-1)= 010 + 111 = 001 = 1
Es.
1
Codificate i seguenti numeri rappresentati in complemento a due nella corrispondente rappresentazione decimale:
1.1111002 2.0001002 0 3.1000112 4.1010102 0 5.0101012 0 6.1111112 0
Alcuni esercizi
e prove di esame
ed anche ....
ed infine....
Facoltà di Farmacia - Corso di Informatica 183
Rappresentazione dei caratteri
Facoltà di Farmacia - Corso di Informatica 184
Rappresentazione dei caratteri
Per rappresentare i caratteri, occorre stabilire una convenzione per la corrispondenza tra configurazione di bit e carattere:
codice ASCIIASCII (AAmerican SStandard CCode for IInformation
IInterchange)
Facoltà di Farmacia - Corso di Informatica 185
Codice ASCII
Usa i 7 bit meno significativi di un byte (27 = 128 diversi caratteri rappresentabili)
Rappresenta – oltre ad altri caratteri – le lettere dell’alfabeto anglosassone maiuscole e minuscole, le cifre, i segni di punteggiatura
Esiste un codice ASCII estesocodice ASCII esteso, che usa 8 bit, ma non è standard; cambia con la lingua usata
Facoltà di Farmacia - Corso di Informatica 186
Codice ASCII
Codice ASCII:
ASCII estesoASCII esteso:
nelle parti scure
NB. Nella codifica ASCII non estesa si usano sequenze di 8 elementi ma il primo e' sempre 0: cosi il numero di bitrealmente impiegati e' 7
Esempio: c=01100011
Facoltà di Farmacia - Corso di Informatica 188
Rappresentazione dei caratteri
Altri codici: UNICODEUNICODE: standard proposto per coprire le principali
lingue (sistemi di scrittura): alfabeto latino, arabo, cirillico, ebraico, greco, hàn, hiragana e katakana, hangul, braille, IPA…
– caratteri codificati con 1, 2 o 4 byte (il libro fa riferimento alla sola codifica a 2 byte)– attualmente rappresentati oltre 96000 caratteri
Facoltà di Farmacia - Corso di Informatica 189
Esempio di codifica ASCII
Codifica della parola ‘casa’: c a s a01100011 01100001 01110011 0110000101100011 01100001 01110011 01100001
Facoltà di Farmacia - Corso di Informatica 190
Esempio di codifica ASCII
Codifica della parola ‘casa’: c a s a01100011 01100001 01110011 0110000101100011 01100001 01110011 01100001
Il codice ASCII contiene anche la codifica per lo spazio (anch’esso è un carattere!, ASCII 32) e il simbolo di fine riga ‘CR’ (ASCII 13)
Con questi caratteri è quindi possibile codificare un testo strutturato
Facoltà di Farmacia - Corso di Informatica 191
Esempio di decodifica ASCII
A partire da una sequenza di bit in codice ASCII, si vuole conoscere la rappresentazione in caratteri:
011010010110110000100000010100000110111100101110
Facoltà di Farmacia - Corso di Informatica 192
Esempio di decodifica ASCII
A partire da una sequenza di bit in codice ASCII, si vuole conoscere la rappresentazione in caratteri:
• si divide la sequenza in gruppi di 8 bit
(ogni gruppo è un byte)
011010010110110000100000010100000110111100101110
Facoltà di Farmacia - Corso di Informatica 193
Esempio di decodifica ASCII
A partire da una sequenza di bit in codice ASCII, si vuole conoscere la rappresentazione in caratteri:
• si divide la sequenza in gruppi di 8 bit
(ogni gruppo è un byte)
01101001 0110110001101100 00100000 0101000001010000 01101111 0010111000101110
Facoltà di Farmacia - Corso di Informatica 194
Esempio di decodifica ASCII
A partire da una sequenza di bit in codice ASCII, si vuole conoscere la rappresentazione in caratteri:
• si divide la sequenza in gruppi di 8 bit
(ogni gruppo è un byte)
• si determina il carattere corrispondente a ogni gruppo
01101001 0110110001101100 00100000 0101000001010000 01101111 0010111000101110
Facoltà di Farmacia - Corso di Informatica 195
Esempio di decodifica ASCII
A partire da una sequenza di bit in codice ASCII, si vuole conoscere la rappresentazione in caratteri:
• si divide la sequenza in gruppi di 8 bit
(ogni gruppo è un byte)
• si determina il carattere corrispondente a ogni gruppo
01101001 0110110001101100 00100000 0101000001010000 01101111 0010111000101110
105=105=i i 108=108=l l 32=32= 80=80=P P 111=111=oo 46=46=..
Facoltà di Farmacia - Corso di Informatica 196
Codifica ASCII dei numeri
N.B.: le cifre da 0 a 9 rappresentate in ASCII sono caratteri (simboli) e non quantità numeriche, quindi:
Facoltà di Farmacia - Corso di Informatica 197
Codifica ASCII dei numeri
N.B.: le cifre da 0 a 9 rappresentate in ASCII sono caratteri (simboli) e non quantità numeriche, quindi:
• NON possono essere utilizzati per rappresentare quantità da utilizzare in calcoli aritmetici
• Non è così strano: tutti i giorni usiamo i numeri telefonici, che sono sequenze di simboli, con essi non facciamo calcoli aritmetici
Facoltà di Farmacia - Corso di Informatica 198
Codifica ASCII dei numeri
N.B.: le cifre da 0 a 9 rappresentate in ASCII sono caratteri (simboli) e non quantità numeriche, quindi:
il numero ‘4’ è rappresentato in binario per mezzo del numerale 000001002
la cifra `4’ è rappresentata in ASCII dal codice 52=001101002
Prove di esame
Facoltà di Farmacia - Corso di Informatica 201
Codifica delle immagini• Vi sono varie tecniche utilizzate per
memorizzare in modo digitale un’immagine, e poi elaborarla
• Per semplificare, immaginiamo di dover codificare un’immagine in bianco e nero (dual tone, con soli due colori)
Facoltà di Farmacia - Corso di Informatica 202
Codifica delle immagini
• L’immagine da codificare
Facoltà di Farmacia - Corso di Informatica 203
Codifica delle immagini
• L’immagine da codificare
• viene suddivisa da una griglia formata da linee a distanza costante
Facoltà di Farmacia - Corso di Informatica 204
Codifica delle immagini
• Ogni quadrato derivante da tale suddivisione viene chiamato pixelpixel
(picture elementpicture element) e può essere codificato in binario con la convenzione che:
• 00 rappresenta un pixel bianco
• 11 rappresenta un pixel nero
Facoltà di Farmacia - Corso di Informatica 205
Codifica delle immagini
• Ogni quadrato derivante da tale suddivisione viene chiamato pixelpixel
(picture elementpicture element) e può essere codificato in binario con la convenzione che:
• 00 rappresenta un pixel bianco (ovvero in cui il bianco è predominante)
• 11 rappresenta un pixel nero (ovvero in cui il nero è predominante)
Facoltà di Farmacia - Corso di Informatica 206
Codifica delle immagini
Facoltà di Farmacia - Corso di Informatica 207
Codifica delle immagini
Facoltà di Farmacia - Corso di Informatica 208
Codifica delle immagini
1 1
1 1 1 1
10
0
0
0
0 0 0 00
0 0
0
00
0 0
00
0
00
Facoltà di Farmacia - Corso di Informatica 209
Codifica delle immagini
Problema:Problema: per avere una sequenza di bit, in quale ordine leggere i pixel?
Occorre una convenzione: qui assumiamo da sinistra destra, e dal basso verso l’alto
La rappresentazione della figura è quindi:0000000 0111100 0110000 01000000000000 0111100 0110000 0100000
1 1
1 1 1 1
10
0
0
0
0 0 0 00
0 0
0
00
0 0
00
0
001 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
Facoltà di Farmacia - Corso di Informatica 210
Codifica delle immaginiNon sempre il contorno della figura coincide con le linee della griglia
Facoltà di Farmacia - Corso di Informatica 211
Codifica delle immaginiNon sempre il contorno della figura coincide con le linee della griglia: digitalizzandodigitalizzando un’immagine si ha sempre un’approssimazioneapprossimazione dell’immagine stessa
Facoltà di Farmacia - Corso di Informatica 212
Codifica delle immagini
1 1
1 1 1 1
10
0
0
0
0 0 0 00
0 0
0
00
0 0
00
0
001 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
Non sempre il contorno della figura coincide con le linee della griglia: digitalizzandodigitalizzando un’immagine si ha sempre un’approssimazioneapprossimazione dell’immagine stessa
Facoltà di Farmacia - Corso di Informatica 213
Codifica delle immagini
1 1
1 1 1 1
10
0
0
0
0 0 0 00
0 0
0
00
0 0
00
0
001 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
0000000 0111100 0110000 01000000000000 0111100 0110000 0100000
Non sempre il contorno della figura coincide con le linee della griglia: digitalizzandodigitalizzando un’immagine si ha sempre un’approssimazioneapprossimazione dell’immagine stessa
Facoltà di Farmacia - Corso di Informatica 214
Codifica delle immaginiNon sempre il contorno della figura coincide con le linee della griglia: digitalizzandodigitalizzando un’immagine si ha sempre un’approssimazioneapprossimazione dell’immagine stessa
1 1
1 1 1 1
10
0
0
0
0 0 0 00
0 0
0
00
0 0
00
0
001 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
0000000 0111100 0110000 01000000000000 0111100 0110000 0100000
Facoltà di Farmacia - Corso di Informatica 215
Codifica delle immagini
Problema.Problema. Come avere un’immagine più fedele?
Facoltà di Farmacia - Corso di Informatica 216
Codifica delle immagini
Problema.Problema. Come avere un’immagine più fedele?
Idea.Idea. Aumentiamo la risoluzionerisoluzione, cioè il numero dei pixel (e rimpiccioliamo i quadratini della griglia di campionamento)
Facoltà di Farmacia - Corso di Informatica 217
Codifica delle immagini
Problema.Problema. Come avere un’immagine più fedele?
Idea.Idea. Aumentiamo la risoluzionerisoluzione, cioè il numero dei pixel (e rimpiccioliamo i quadratini della griglia di campionamento)
zz
7x4 14x8
Facoltà di Farmacia - Corso di Informatica 218
Codifica delle immagini
Problema.Problema. Come avere un’immagine più fedele?
Idea.Idea. Aumentiamo la risoluzionerisoluzione, cioè il numero dei pixel (e rimpiccioliamo i quadratini della griglia di campionamento)
zz
La rappresentazione di un’immagine mediante la codifica dei pixel viene chiamata codifica bitmapbitmap
7x4 14x8
Facoltà di Farmacia - Corso di Informatica 219
Codifica delle immagini a toni di grigio
• Con un solo bit per pixel si possono codificare solo due colori (tipicamente bianco e nero)
• Per codificare più informazioni, dobbiamo usare più bit
Facoltà di Farmacia - Corso di Informatica 220
Codifica delle immagini a toni di grigio
• Con un solo bit per pixel si possono codificare solo due colori (tipicamente bianco e nero)
• Per codificare più informazioni, dobbiamo usare più bit
Ad es., tonalità di grigiotonalità di grigio:
per ogni quadratino si stabilisce il livello medio di grigio
si codifica ogni livello di grigio (se uso 4 bit 16 livelli di grigio, se uso 8 bit 256 livelli di grigio, … se uso k bit 2k tinte diverse)
Ad esempio
Il numero di bit per pixel e' importante come possiamo vedere nella prossima slide
Ma anche il numero di pixels e' rilevante!
In definitiva:
Facoltà di Farmacia - Corso di Informatica 226
Codifica delle immagini a colori
Immagini a colori: Immagini a colori: • si individua una serie di sfumature di
colore differenti• ognuna è codificata con un’opportuna
rappresentazione binaria
Facoltà di Farmacia - Corso di Informatica 227
Codifica delle immagini a colori
Immagini a colori:Immagini a colori: • si individua una serie di sfumature di
colore differenti• ognuna è codificata con un’opportuna
rappresentazione binaria
Due modi di codificare le immagini a colori:• true colortrue color • palettepalette
True color
Facoltà di Farmacia - Corso di Informatica 229
True color• Colori come somma di tre colori primari:
rosso, verde e blu (Red, Green, BlueRed, Green, Blue: RGB)• Monitor e televisori funzionano così
256 livelli ( 8 bit) per ogni canale (colore primario)
3 byte per ogni pixel23*8 colori = 224 colori = 16.777.216 colori
Colore R G Bnero 0 0 0
biancobianco 255 255 255
rossorosso 255 0 0
giallogiallo 255 255 0
grigiogrigio 127 127 127
“Demo”
Riassumendo quanto visto fino ad adesso:
Facoltà di Farmacia - Corso di Informatica 231
Tavolozza dei colori (palettepalette): • in un’immagine indica quali colori possono essere assegnati ad un pixel• dà la corrispondenza tra un numero associato a un pixel e il colore realeOgni immagine ha una propria tavolozza, a meno che sia un’immagine true color
Palette
Facoltà di Farmacia - Corso di Informatica 232
Pixel e palettePartiamo da un’immagine a 256 colori, cioè 8 bit/pixel
Facoltà di Farmacia - Corso di Informatica 233
Pixel e palettePartiamo da un’immagine a 256 colori, cioè 8 bit/pixel
Facoltà di Farmacia - Corso di Informatica 234
Pixel e palette
Facoltà di Farmacia - Corso di Informatica 235
Pixel e palette
32 32 32 21 32 21
21 17 21 21 17 21
21 21 17 21 21 17
32 21 21 33 33 33
Codifica dei pixel
Facoltà di Farmacia - Corso di Informatica 236
Pixel e palette
32 32 32 21 32 21
21 17 21 21 17 21
21 21 17 21 21 17
32 21 21 33 33 33
Codifica dei pixel
Facoltà di Farmacia - Corso di Informatica 237
Pixel e palette
32 32 32 21 32 21
21 17 21 21 17 21
21 21 17 21 21 17
32 21 21 33 33 33
Tavolozza
Codifica dei pixel
Indice R G B
...
17 112 53 23
…
21 118 56 57
…
32 146 64 33
33 149 66 54
…
Facoltà di Farmacia - Corso di Informatica 238
Pixel e palette
32 32 32 21 32 21
21 17 21 21 17 21
21 21 17 21 21 17
32 21 21 33 33 33
Tavolozza
Codifica dei pixel
Indice R G B
...
17 112 53 23
…
21 118 56 57
…
32 146 64 33
33 149 66 54
…
In definitiva
Facoltà di Farmacia - Corso di Informatica 240
Occupazione delle immagini a colori (N.B.!!!)
• Es.: immagine 150 x 200 pixel a 16 colori
Facoltà di Farmacia - Corso di Informatica 241
Occupazione delle immagini a colori (N.B.!!!)
• Es.: immagine 150 x 200 pixel a 16 coloriOccorrono 4 bit per pixel (perché 24=16),
Facoltà di Farmacia - Corso di Informatica 242
Occupazione delle immagini a colori (N.B.!!!)
• Es.: immagine 150 x 200 pixel a 16 coloriOccorrono 4 bit per pixel (perché 24=16), quindi occupa 150 * 200 * 4 bit = 120000 bit = 15000 byte(oltre alla palette)
Facoltà di Farmacia - Corso di Informatica 243
Occupazione delle immagini a colori (N.B.!!!)
• Es.: immagine 150 x 200 pixel a 16 coloriOccorrono 4 bit per pixel (perché 24=16), quindi occupa 150 * 200 * 4 bit = 120000 bit = 15000 byte(oltre alla palette)• Es.: immagine 150 x 200 pixel true color
Facoltà di Farmacia - Corso di Informatica 244
Occupazione delle immagini a colori (N.B.!!!)
• Es.: immagine 150 x 200 pixel a 16 coloriOccorrono 4 bit per pixel (perché 24=16), quindi occupa 150 * 200 * 4 bit = 120000 bit = 15000 byte(oltre alla palette)• Es.: immagine 150 x 200 pixel true colorOccorrono 3 byte (24 bit) per pixel,
Facoltà di Farmacia - Corso di Informatica 245
Occupazione delle immagini a colori (N.B.!!!)
• Es.: immagine 150 x 200 pixel a 16 coloriOccorrono 4 bit per pixel (perché 24=16), quindi occupa 150 * 200 * 4 bit = 120000 bit = 15000 byte(oltre alla palette)• Es.: immagine 150 x 200 pixel true colorOccorrono 3 byte (24 bit) per pixel, quindi occupa 150 * 200 * 3 byte = 90000 byte
Facoltà di Farmacia - Corso di Informatica 246
Codifica delle immagini a colori
• Esistono tecniche di compressione delle immagini che consentono di ridurre la dimensione dello spazio occupato
• Per esempio, una tecnica consiste nel codificare aree dello stesso colore in modo abbreviato
• Formati compressi più diffusi sono gif e jpeg
• Altri formati di codifica sono tiff, bmp, pict, png
• In generale si può passare da un formato all’altro
6 *
Facoltà di Farmacia - Corso di Informatica 247
Codifica delle immagini in movimento
• Codifica di sequenze di immagini (dette fotogrammi o frame)
• Visto lo spazio elevato richiesto, occorrono tecniche di memorizzazione efficienti: per esempio, sono memorizzate solo le differenze tra un fotogramma e l’altro
• Esistono vari formati (compresi i suoni): mpeg, avi (microsoft), quicktime (apple)
• È possibile ritoccare i singoli fotogrammi
Facoltà di Farmacia - Corso di Informatica 250
Codifica dei suoni• Il suono è uno dei mezzi principali di comunicazione
• Anche i suoni possono essere codificati in digitale
• Un suono è un’onda di pressione che si ha in presenza di un mezzo (l’aria, l’acqua)
• Quando un suono viene rilevato dall’orecchio o da un microfono, viene trasformato in uno stimolo – o segnale – elettrico
• DurataDurata, intensitàintensità e variazione nel tempovariazione nel tempo della pressione dell'aria sono le quantità fisiche che rendono un suono diverso da ogni altro
Facoltà di Farmacia - Corso di Informatica 251
Codifica dei suoni• Sull'asse delle ascisse (x) viene rappresentato il
tempoSull'asse delle ordinate (y) viene rappresentata l' ampiezza (o intensita') corrispondente al suono stesso
• Si rappresenta quindi l’intensità del suono in funzione del tempo
• Tempo e intensità sono quantità analogiche
tempo
ampiezza
Facoltà di Farmacia - Corso di Informatica 252
Codifica dei suoni• Problema.Problema. Passare da rappresentazione analogica a
rappresentazione digitale
ampiezza
tempo
Facoltà di Farmacia - Corso di Informatica 253
Codifica dei suoni• Problema.Problema. Passare da rappresentazione analogica a
rappresentazione digitale• Idea.Idea. Si effettuano dei campionamenti sull’onda (cioè si
misura il valore dell’onda a intervalli costanti di tempo)
tempo tempo
ampiezza ampiezza
Facoltà di Farmacia - Corso di Informatica 254
Codifica dei suoni• Problema.Problema. Passare da rappresentazione analogica a
rappresentazione digitale• Idea.Idea. Si effettuano dei campionamenti sull’onda (cioè si
misura il valore dell’onda a intervalli costanti di tempo) e si codificano in forma digitale le informazioni (numeriche) estratte da tali campionamenti
tempo
ampiezza
tempo
ampiezza
tempo
ampiezza
Facoltà di Farmacia - Corso di Informatica 255
Codifica dei suoni• Analogamente alle immagini,
maggiore è la frequenza dei campionamenti, migliore sarà la precisione con cui il segnale viene memorizzato e la fedeltà all’originale
tempo
ampiezza
tempo
ampiezza
Facoltà di Farmacia - Corso di Informatica 256
Codifica dei suoni• Analogamente alle immagini,
maggiore è la frequenza dei campionamenti, migliore sarà la precisione con cui il segnale viene memorizzato e la fedeltà all’originale
• Qual è il campionamento più fedele?
tempo
ampiezza
tempo
Facoltà di Farmacia - Corso di Informatica 257
Codifica dei suoni• Analogamente alle immagini,
maggiore è la frequenza dei campionamenti, migliore sarà la precisione con cui il segnale viene memorizzato e la fedeltà all’originale
• Qual è il campionamento più fedele?
Campionamento meno fedele Campionamento più fedele
tempo
ampiezza
tempo
Facoltà di Farmacia - Corso di Informatica 258
Codifica dei suoni• Discretizzando esclusivamente sul tempo, abbiamo
ancora campioni analogici (l’ampiezza è un valore analogico)
• Occorre discretizzare anche l’ampiezza di ogni campione, per poterla esprimere con un numero binario
ampiezza
tempo
livelli diquantizzazione
Facoltà di Farmacia - Corso di Informatica 259
Codifica dei suoni• A ogni livello viene assegnata una sequenza binaria
(diversa per ognuno).• Nell’esempio, si noti che i livelli sono etichettati con i
numeri in complemento a 2, e non tutte le combinazioni di 4 bit sono visualizzate (e usate).
ampiezza
tempo
livelli diquantizzazione
0000
0001
0010
0011
0100
0101
1100
1101
1110
1111
1011
Facoltà di Farmacia - Corso di Informatica 260
Codifica dei suoni• Ogni campione viene approssimato al livello più vicino,
al valore indicato con il cerchio. Ogni campione sarà quindi espresso dal numero binario corrispondente al livello più prossimo.
ampiezza
tempo
livelli diquantizzazione
0000
0001
0010
0011
0100
0101
1100
1101
1110
1111
1011
Facoltà di Farmacia - Corso di Informatica 261
Codifica dei suoni• Il segnale rappresentato con la sequenza
0001 0011 0100 0010 0010 0011 00100000 1101 1101 1101 0001 0010 0010sarà quindi ricostruito con il seguente segnale:
ampiezza
tempo
livelli diquantizzazione
0000
0001
0010
0011
0100
0101
1100
1101
1110
1111
1011
Facoltà di Farmacia - Corso di Informatica 262
Codifica dei suoni
• La sequenza dei valori numerici ottenuta dai campioni è quindi digitalizzata. Si ha una discretizzazione in tempo e una sul valore
• CD musicali: 44100 campionamenti al secondo, 16 bit per campione (-32768, 32767)
• Diversi formati: mov, wav, mpeg (mp3), avi, midi• Formato midi codifica le note e gli strumenti che
devono eseguirle: solo musica, non voce• Formato mp3 molto diffuso e molto efficiente
Quanti byte occupa un suono della durata di 5 secondi campionato a 30 Hz (30 campioni per secondo), in cui ogni campione occupa 6 byte?
Un secondo di suono campionato a 512 Hz occupa 1 KB. Quanti valori distinti possono avere i campioni?
Ed infine, esercizi!
Una fiacca battuta finale
Ci sono 10 tipi di persone:quelle che capiscono la notazionebinaria e quelle che non la capiscono
01000110011010010110111001100101
Una fiacca battuta finale
Ci sono 10 tipi di persone:quelle che capiscono la notazionebinaria e quelle che non la capiscono
01000110011010010110111001100101
01000110 01101001 01101110 01100101
70=F 105=i 110=n 101=e
Facoltà di Farmacia - Corso di Informatica 267
Esercizidi riepilogo
Facoltà di Farmacia - Corso di Informatica 269
Esercizi1. Dati 6 bit, quante informazioni distinte si possono
rappresentare?
2. Quante informazioni distinte si possono rappresentare con un byte?
3. Quanti bit si devono utilizzare per rappresentare 20 informazioni distinte?
4. Quanti byte occupa la parola “letterature” scritta in ASCII esteso?
5. Quanti byte occupa la frase “l’inglese, il francese” scritta in ASCII esteso?
6. Quanti byte occupa la parola “cinese” rappresentata in UNICODE?
Facoltà di Farmacia - Corso di Informatica 270
Risposte1. Dati 6 bit, quante informazioni distinte si possono
rappresentare? 26=64 informazioni distinte
2. Quante informazioni distinte si possono rappresentare con un byte?
1 byte = 8 bit, 28=256 informazioni distinte 3. Quanti bit si devono utilizzare per rappresentare 20
informazioni distinte? Almeno 5 bit, perché 25=32 ≥20 (4 bit non sono sufficienti, perché 24=16 < 20)
4. Quanti byte occupa la parola “letterature” scritta in ASCII esteso?
11 (in ASCII esteso, un carattere corrisponde a un byte) 5. Quanti byte occupa la frase “l’inglese, il francese” scritta
in ASCII esteso? 22
6. Quanti byte occupa la parola “cinese” rappresentata in UNICODE?
12 secondo il libro; da 6 a 24 secondo quanto detto a lezione
Facoltà di Farmacia - Corso di Informatica 271
Esercizi7. Le parole “Shakespeare” e “shakespeare” hanno la stessa
rappresentazione in ASCII?
8. Le parole città e citta’ hanno la stessa rappresentazione in ASCII?
9. Quanti byte occupa un suono della durata di 5 secondi campionato a 30 Hz (30 campioni per secondo), in cui ogni campione occupa 6 byte?
10.Un secondo di suono campionato a 512 Hz occupa 1 KB. Quanti valori distinti possono avere i campioni?
11.Un'immagine a 256 colori è formata da 400x400 pixel. Quanto spazio occupa?
Facoltà di Farmacia - Corso di Informatica 272
Risposte7. Le parole “Shakespeare” e “shakespeare” hanno la stessa
rappresentazione in ASCII?No
8. Le parole città e citta’ hanno la stessa rappresentazione in ASCII?
No9. Quanti byte occupa un suono della durata di 5 secondi
campionato a 30 Hz (30 campioni per secondo), in cui ogni campione occupa 6 byte?
5 * 30 * 6 = 900 byte 10. Un secondo di suono campionato a 512 Hz occupa 1 KB.
Quanti valori distinti possono avere i campioni? 1 KB = 1024 byte; numero di campioni = 1 * 512 = 512; ogni campione contiene 1024/512 = 2 byte; 2 byte = 16 bit; 216 valori distinti.
11. Un'immagine a 256 colori è formata da 400x400 pixel. Quanto spazio occupa?
Ogni pixel richiede un byte (=8 bit, perché 28=256, sufficiente per rappresentare 256 colori); l'immagine ha 400 * 400 = 160 000 pixel; l'immagine occupa 160 000 byte (= 1 280 000 bit)
Facoltà di Farmacia - Corso di Informatica 273
Esercizi12.Hai ricevuto un messaggio di posta elettronica da un
amico. Il messaggio contiene: un testo di 300 caratteri scritto in ASCII, un'immagine di 120x150 pixel con 1024 colori.
Quanti byte occupa il messaggio?
13.Un'immagine di 300x400 pixel occupa 15 000 byte. L'immagine è a colori oppure in bianco e nero?
14.Quanto spazio occupa un'immagine animata di 100x100 pixel a 128 colori, formata da 6 frame?
Facoltà di Farmacia - Corso di Informatica 274
Risposte12.Hai ricevuto un messaggio di posta elettronica da un
amico. Il messaggio contiene: un testo di 300 caratteri scritto in ASCII, un'immagine di 120x150 pixel con 1024 colori.
Quanti byte occupa il messaggio? Testo: 300 byte. Immagine: ogni pixel richiede 10 bit (perché 210=1024); l'immagine ha 120 * 150 = 18 000 pixel;
l'immagine occupa 10 * 18000 = 180 000 bit = 22 500 byte. Testo + immagine: 300 + 22 500 = 22 800 byte
13.Un'immagine di 300x400 pixel occupa 15 000 byte. L'immagine è a colori oppure in bianco e nero?
L'immagine ha 300 * 400 = 120 000 pixel e occupa 15 000 * 8 = 120 000 bit. Quindi ad ogni pixel corrisponde un bit, e l'immagine è in bianco e nero
14.Quanto spazio occupa un'immagine animata di 100x100 pixel a 128 colori, formata da 6 frame?
Ogni frame ha 100 * 100 = 10 000 pixel; ogni pixel richiede 7 bit (perché 27=128); ogni frame occupa 10 000 * 7 = 70 000 bit; l'immagine animata occupa 70 000 * 6 = 420 000 bit (= 52 500 byte)
Facoltà di Farmacia - Corso di Informatica 275
Esercizi15.Codificate i seguenti numeri (in codifica binaria non in
complemento a due) nella corrispondente rappresentazione decimale:
– 1012
– 10112
– 11012 – 100000012 – 110011002
– 1111111116. Codificate i seguenti numeri nella corrispondente rappresentazione binaria:
– 810 – 710
– 6010
– 28110
Verificate i risultati convertendoli nella rappresentazione decimale.
• 17. Dato il numero 86210 qual è il numero minimo di bit che si devono usare per la sua rappresentazione binaria?
Facoltà di Farmacia - Corso di Informatica 276
Risposte15.Codificate i seguenti numeri (in codifica binaria non in
complemento a due) nella corrispondente rappresentazione decimale:
– 1012 = 510 – 10112 = 1110 – 11012 = 1310 – 100000012 = 12910 – 110011002 = 20410 – 111111112 = 25510
16. Codificate i seguenti numeri nella corrispondente rappresentazione binaria:
– 810 = 10002 – 710 = 1112 – 6010 = 1111002 – 28110 = 1000110012
Verificate i risultati convertendoli nella rappresentazione decimale.
• 17.Dato il numero 86210 qual è il numero minimo di bit che si devono usare per la sua rappresentazione binaria?
Numero minimo di bit: 10 (86210 = 11010111102)
Facoltà di Farmacia - Corso di Informatica 277
Esercizi18.Fate l'addizione dei numeri 11002 e 11012 nella maniera
seguente: codificate i numeri 11002 e 11012 nella rappresentazione decimale, fate l'addizione dei numeri in base 10 ottenuti, e poi codificate la somma ottenuta nella rappresentazione binaria.
19.Ripetete la domanda precedente usando i numeri 10012 e
11012. 20.Codificate i seguenti numeri rappresentati in complemento
a due nella corrispondente rappresentazione decimale: 19.1111002 20.0001002
21.1000112
22.1010102
23.0101012
24.1111112
Facoltà di Farmacia - Corso di Informatica 278
Risposte18.Fate l'addizione dei numeri 11002 e 11012 nella maniera
seguente: codificate i numeri 11002 e 11012 nella rappresentazione decimale, fate l'addizione dei numeri in base 10 ottenuti, e poi codificate la somma ottenuta nella rappresentazione binaria.
11002 + 11012 = 110012 (11002 = 1210 , 11012 = 1310 , 2510 = 110012) 19.Ripetete la domanda precedente usando i numeri 10012 e 11012.
10012 + 11012 = 101102 (10012 = 910 , 11012 = 1310 , 2210 = 101102) 20.Codificate i seguenti numeri rappresentati in complemento a due
nella corrispondente rappresentazione decimale: 1.1111002 = -410 2.0001002 = 410 3.1000112 = -2910 4.1010102 = -2210 5.0101012 = 2110 6.1111112 = -110