Parte 2 Codifica - Istituto di Scienze e Tecnologie dell`Informazione

Transcript

Parte 2 Codifica - Istituto di Scienze e Tecnologie dell`Informazione
Informatica Applicata - Architetture degli elaboratori
© Alessandro Bogliolo
Parte 2
Codifica
[Bucci c1.2]
Facoltà di Scienze MM FF NN – Università di Urbino – A.A. 2001/2002
1
Informatica Applicata - Architetture degli elaboratori
© Alessandro Bogliolo
1 Concetti generali
La codifica delle informazioni in termini di bit è l’operazione che consente di utilizzare i calcolatori elettronici per
n
elaborare dati di qualsiasi natura. Con n bit si possono formare 2 configurazioni diverse. La codifica è una
convenzione che associa un significato ad ogni configurazione di bit. I calcolatori sono oggetti finiti che elaborano e
memorizzano un numero finito di bit. Un numero finito di bit permette di codificare un numero finito di informazioni
diverse. Una codifica esatta a n bit è possibile solo quando l’insieme delle informazioni da codificare è finito e di
n
n
dimensione inferiore a 2 . Se l’insieme ha cardinalità maggiore di 2 o è infinito, se ne può dare solo una
rappresentazione approssimata o parziale. Le operazioni da compiere per ridurre la quantità di informazione da
n
codificare sono le seguenti: limitazione, rappresentazione di un sottoinsieme di informazioni di dimensione 2 (gli
elementi del sottoinsieme sono rappresentati esattamente, gli altri non sono rappresentati); partizionamento,
n
suddivisione dell’insieme in 2 sottoinsiemi ad ognuno dei quali si associa una diversa configurazione di bit (la
codifica permette di discriminare sottoinsiemi diversi, ma non elementi dello stesso sottoinsieme). Un metodo di
partizionamento comunemente utilizzato per insiemi numerici è detto discretizzazione o quantizzazione e consiste
nella suddivisione regolare in intervalli di uguale ampiezza.
Insiemi infiniti e discreti devono essere limitati per poter essere codificati. Insiemi limitati e continui devono essere
partizionati. Insiemi illimitati e continui devono essere sia limitati che partizionati. La perdita di informazione
associata alle operazioni di limitazione e discretizzazione rende la codifica approssimata.
2 Codifica dei numeri
2.1
Notazione posizionale.
Per la rappresentazione dei numeri è particolarmente diffusa la codifica binaria, che fornisce una diretta
trasposizione in un alfabeto a due valori della notazione decimale da noi comunemente utilizzata. Il numero di
simboli dell'alfabeto è detto base di numerazione. La codifica binaria e quella decimale utilizzano basi diverse (2 e
10, rispettivamente) ma sono entrambe notazioni posizionali, in quanto permettono di rappresentare ogni numero
come sequenza di cifre del tipo:
cn cn-1 … c1 c0 .c-1 c-2 … c-m
Il valore (v) del numero rappresentato è la somma pesata delle cifre, dove il peso di ogni cifra dipende dalla base di
numerazione (B) e dalla posizione della cifra:
v = cn Bn + cn-1 Bn + … + c1B + c0 + c-1 B-1 + c-2 B-2 + … + c-m B-m
Conversione di base [Bucci 1.2.2]
2
1
0
-1
Es: (101.1)(2) = 1 • 2 + 0 • 2 + 1 • 2 + 1 • 2 = (5.5)(10).
2.2
Numeri interi positivi.
I numeri interi sono un insieme discreto illimitato. Per poter essere codificati devono essere limitati. In genere ci si
n
restringe ad un sottoinsieme di N elementi che va da 0 a N-1. Massimo numero rappresentabile con n bit è 2 -1.
Aritmetica binaria: somma con riporto e moltiplicazione vengono calcolate come nei sistemi di numerazione
decimali. [Bucci 1.2.3]
2.3
Numeri interi con segno.
Il segno di un numero è un’informazione binaria, pertanto richiede un bit addizionale per essere rappresentato. Le
rappresentazioni convenzionali sono:
• Modulo e segno. Il modulo si rappresenta come numero intero positivo, il segno con un bit aggiuntivo
(0=positio, 1=negativo). Es: (3)(10) = 0 0011; (-3)(10) = 1 0011.
• Complemento a 1. I numeri interi positivi si rappresentano senza utilizzare il bit più signficativo (il più
n-1
grande numero rappresentabile sarà quindi 2 -1). I numeri negativi si rappresentano invertendo bit a bit
la rappresentazione del modulo. Es: (3)(10) = 0 0011; (-3)(10) = 1 1100.
• Complemento a 2. I numeri positivi si rappresentano senza utilizzare il bit più sgnificativo (il più grande
n-1
numero rappresentabile sarà quindi 2 -1). I numeri negativi si rappresentano invertendo bit a bit la
rappresentazione del modulo e sommandole 1. Es: (3)(10) = 0 0011; (-3)(10) = 1 1101.
n
Nella rappresentazione complemento a 2, il numero negativo -v è rappresentato come 2 -v.
La rappresentazione modulo e segno è la più intuitiva, ma quella in complemento a 2 è la più usata perchè
permette di fare somme e sottrazioni (somme algebriche) utilizzando lo stesso algoritmo (e quindi li stessi
componenti hardware o software) utilizzato per la somma tra numeri positivi. La moltiplicazione non è altrettanto
semplice e a volte si ricorre ad un preventivo cambiamento di rappresentazione in modulo e segno.
Facoltà di Scienze MM FF NN – Università di Urbino – A.A. 2001/2002
2
Informatica Applicata - Architetture degli elaboratori
2.4
© Alessandro Bogliolo
Numeri reali e razionali.
I numeri reali e i numeri razionali sono insiemi illimitati e infinitamente densi. Per poterli rappresentare occorre
limitarli (in modo simmetrico rispetto allo 0) e partizionarli.
• Rappresentazione in virgola fissa. Degli n bit della parola, 1 rappresenta il segno, a rappresentano le cifre
n-1
b
prima della virgola e b le cifre dopo la virgola. Il massimo numero rappresentabile è (2 -1)/2 , il minimo
b
-b
-b
numero maggiore di zero è 1/ 2 =2 . L’accuratezza assoluta è 2 .
• Rappresentazione in virgola mobile (floating-point). Il numero da rappresentare viene espresso nella forma
s•0.M•Bse•E
dove s rappresenta il segno, M la mantissa, E l’esponente, se il segno dell’esponente e B la base di
numerazione. Non tutti i numeri hanno rappresentazione univoca. Questo comporta perdita di efficienza e
difficoltà di confronto. Quando esistono rappresentazioni equivalenti dello stesso numero, tra queste si
definisce normale quella con l’esponente più piccolo. Da una rappresentazione non normale a quella normale
equivalente si passa traslando verso sinistra le cifre della mantissa e sottraendo 1 all’esponente.
3
2
0
-1
-01
-10
-11
Es: 0.02•10 = 0.20•10 ; 0.031•10 = 0.310•10 ; 0.011•2 = 0.110•2 ; 0.011•2 è in forma normale.
In base 2, gli n bit disponibili per la codifica del numero vengono così ripartiti: 1 per s, m per M, 1 per se ed e
per E. La base è implicita.
e
•2(2 -1) .
e
m
-(2 -1)
.
Il minimo numero positivo rappresentabile è 1/2 •2
m
m
Il massimo numero rappresentabile è (2 – 1)/2
La massima accuratezza relativa, espressa in termini di errore relativo di arrotondamento o troncamento,
-(m-1)
dipende dal numero di cifre della mantissa e vale 2
.
Il numero di cifre della mantissa viene detto precisione della rappresentazione.
Nota: il numero di possibili configurazioni è superiore al numero di valori rappresentabili.
3 Codifica di informazioni non numeriche
3.1
Testi
Un testo è una sequenza di caratteri alfabetici, separatori e caratteri speciali come punteggiatura, accentuazioni,
ecc. La codifica ASCII (American Standard Code for Information Interchange) prevede l'uso di 128 caratteri diversi.
Ogni carattere è associato ad una diversa configurazione di 7 bit. Estensioni non standard del codice ASCII
utilizzano 8 bit (1 byte) per carattere, portando a 256 il numero di caratteri disponibili. Un testo è rappresentato
dalla sequenza di byte associati ai caratteri che lo compongono, nell'ordine in cui essi compaiono. Un testo di 1000
caratteri richiede 1000 byte (1 Kb) per essere rappresentato.
Es: Il testo “ciao” richiede 4 byte per essere codificato secondo il codice ASCII a 8 bit. Il testo “ciao a tutti” ne
richiede 12; il testo “perche’ no” ne richiede 11, mentre il testo “perché no” ne richiede 10. Il testo “uno” richiede 3
byte, il testo “1” ne richiede solo 1, mentre per distinguere il valore 1 dal valore 0 basta un bit e per distinguere il
valore 1 tra altri 7 possibili valori servono 3 bit.
3.2
Immagini
Le immagini sono informazioni continue in tre dimensioni: due spaziali ed una colorimetrica. Per codificarle occorre
operare tre discretizzazioni. Le due discretizzazioni spaziali riducono l’immagine ad una matrice di punti colorati,
detti pixel. La terza discretizzazione limita l’insieme di colori che ogni pixel può assumere. Il modo più elementare
per rappresentare un'immagine consiste nel rappresentare il colore di ogni pixel. Il numero di bit necessari a
rappresentare ogni pixel dipende dal numero di diversi colori disponibili. Un byte consente di rappresentare 256
colori. Un'immagine a 256 colori è una sequenza di byte. Un'immagine di 100X100 pixel a 256 colori richiede
10000 byte (10 Kb) per essere rappresentata. Un’immagine a due soli colori (ad esempio bianco e nero) richiede
un solo bit per pixel e viene detta bitmap.
Es:
100x100x8bit
100x100x1bit
Facoltà di Scienze MM FF NN – Università di Urbino – A.A. 2001/2002
3
Informatica Applicata - Architetture degli elaboratori
© Alessandro Bogliolo
50x50x8bit
50x50x1bit
10x10x8bit
10x10x1bit
4 Codifica di segnali
4.1
Segnali
Segnale: grandezza fisica che varia nel tempo. Segnale analogico: segnale che può assumere un insieme
continuo (e quindi infinito) di valori. Segnale digitale: segnale che può assumere solo un insieme discreto (e
generalmente finito) di valori. Segnale tempo-continuo: segnale il cui valore è significativo (e può variare) in
qualsiasi istante di tempo. Segnale tempo-discreto: segnale il cui valore ha interesse solo in istanti di tempo
prestabiliti, generalmente equidistanziati.
Es:
s
s
t
Segnale analogico tempo-continuo
t
Segnale digitale tempo-discreto
La rappresentazione più naturale di un segnale s è la sequenza dei suoi valori istantanei s(t). Ci poniamo prima il
problema di rappresentare un valore istantaneo, e poi quello di rappresentarne la sequenza,
4.2
Valore istantaneo
Il valore istantaneo di un segnale è un numero, e come tale può essere codificato utilizzando notazione in virgola
fissa o in virgola mobile. Tali codifiche inducono limitazioni e partizionamenti sullo spazio dei possibili valori che il
segnale può assumere. Se i limiti e la precisione offerti dalle codifiche dei numeri reali non sono adeguati (perché
troppo o troppo poco accurati) si può definire un codice ad-hoc, secondo la seguente procedura:
1. Analizzare l’insieme di valori che il segnale può assumere.
2. Se l’insieme è infinito limitarlo e/o partizionarlo fino a ridursi ad un insieme finito.
n
3. Utilizzare un numero n di bit adeguato (tale che 2 superi la cardinalità
s
dell’insieme di valori o di partizioni a cui ci si è ridotti) e associare una
max
11(2) = 3(10)
configurazione ad ogni valore o sottoinsieme di valori.
Es:
10(2) = 2(10)
• Un segnale logico può assumere solo valore 0 o 1 e richiede un solo bit per
rappresentare il valore istantaneo.
• Un segnale digitale che possa assumere k valori richiede un numero n di bit
01(2) = 1(10)
n
tale che 2 ≥ k.
n
• Un segnale analogico che varia tra min e max può essere quantizzato in 2
min
00(2) = 0(10)
intervalli e codificato utilizzando n bit (dove n dipende solo dalla precisione
desiderata). Se si interpretano le configurazioni di bit associate ad ogni
Facoltà di Scienze MM FF NN – Università di Urbino – A.A. 2001/2002
4
Informatica Applicata - Architetture degli elaboratori
© Alessandro Bogliolo
partizione di valori come rappresentazioni binarie di numeri interi, una buona regola di codifica è la seguente:
n
codice = (2 -1) round{(s(t) – min) / (max-min)}
Cui corrisponde la decodifica:
n
s(t) = min + (max-min) codice / (2 -1)
4.3
Sequenza temporale
Se il segnale è tempo-discreto, la scelta naturale è quella di rappresentare il
valore del segnale in tutti e soli gli istanti in cui esso è significativo.
Consideriamo solo il caso in cui l’intervallo temporale in cui il segnale viene
osservato sia finito. In tal caso è finito anche l’insieme di istanti in cui il
segnale è significativo, e quindi sarà finita la rappresentazione della
sequenza di valori. Tipicamente, i segnali tempo-discreti hanno gli istanti di
interesse equidistanziati. Se τ è la distanza temporale tra due istanti
successivi e T è la durata dell’osservazione, la sequenza ha T / τ elementi.
Se il segnale è tempo-continuo, occorre operare una discretizzazione
dell’intervallo T per ottenere una rappresentazione finita. L’operazione di
discretizzazione più comune è il campionamento, che consiste
nell’osservare il segnale tempo-continuo ad istanti di tempo prefissati
(generalmente equidistanziati) in modo da ottenere un segnale tempodiscreto che assume lo stesso valore di quello originale nei punti di
campionamento.
s
t
Campionamento
s
t
Le operazioni di campionamento e quantizzazione trasformano un segnale
analogico tempo-continuo in un segnale digitale tempo-discreto.
4.4
Suoni
Il suono è un segnale analogico tempo-continuo. Ci sono diversi modi per descrivere la natura di tale segnale. Per
fissare le idee pernsiamo che il suono prodotto da un altoparlante è prodotto dalla vibrazione di una membrana.
Descrivendo la posizione della membrana nel tempo (e quindi il suo spostamento) a tutti gli effetti descriviamo il
suono. Assumiamo allora che il segnale analogico s(t) esprima la posizione della membrana (rispetto ad un
riferimento fissato) all’istante di tempo t. Tale segnale deve essere campionato e discretizzato per poter essere
codificato in termini di bit. Per valutare la qualità della codifica possiamo pensare di usare il segnale quantizzato e
tempo-discreto (quello cioè effettivamente rappresentato dalla nostra codifica) per muovere la membrana di un
altoparlante. Se il campionamento è troppo rado e vengono usati pochi bit per codificare ogni valore istantaneo, la
perdita di informazione degrada la qualità del suono (il suono riprodotto è sensibilmente diverso da quello
originale). Per quanto riguarda il campionamento, è dimostrato che il suono percepibile dall’orecchio umano viene
riprodotto fedelmente se la frequenza di campionamento (il numero di campioni in un secondo) è non inferiore a
30KHz. Per rendere intelligibile il parlato è sufficiente una frequenza di campionamento di 8KHz. La quantizzazione
introduce comunque una distorsione.
Es: Telefono. La comunicazione telefonica deve riprodurre la voce umana ai due estremi del collegamento
garantendo la comprensione del parlato. A tal fine lo standard prevede un campionamento a 8KHz ed una
quantizzazione a 256 livelli (codificati con 8 bit). Il segnale digitale che ne risulta usa 64Kbit per codificare ogni
secondo di conversazione. 10 minuti di conversazione richiedono 38.4Mbit.
4.5
Immagini in movimento
Le immagini in movimento possono essere considerate sequenze di fotogrammi. Questa descrizione ha già in sé
l’idea del campionamento: ogni fotogramma è un campione di un’immagine che per sua natura sarebbe tempocontinua, cioè cambierebbe con continuità. Abbiamo già visto come codificare immagini, e quindi sappiamo come
codificare ogni fotogramma. Il numero di fotogrammi nell’unità di tempo (ovvero la frequenza di campionamento)
determina la qualità del movimento. E’ stato sperimentato che l’occhio umano non percepisce discontinuità nel
movimento al di sotto del venticinquesimo di secondo. Pertanto, una frequenza di campionamento superiore a
25Hz sarebbe superflua se lo scopo fosse la riproduzione di un video. D’altro canto potrebbe non esserlo se
servisse a documentare un esperimento di brevissima durata o se il video dovesse essere rivisto al rallentatore.
Es: Filmato di 10 minuti, con risoluzione di 100x100 pixel a 256 colori: dimensione complessiva di
600x25x100x100x8 = 1.2Gbit.
Facoltà di Scienze MM FF NN – Università di Urbino – A.A. 2001/2002
5
Informatica Applicata - Architetture degli elaboratori
© Alessandro Bogliolo
5 Ridondanza e compressione dei dati
5.1
Ridondanza
Una codifica è detta ridondante se utilizza più bit del necessario.
Es: Per rappresentare numeri interi a due cifre decimali si possono utilizzare due caratteri ASCII, cioè 2*8=16 bit.
Ma per rappresentare i 10 valori che ogni cifra può assumere sarebbero sufficienti 4 bit, per un totale di 2*4=8 bit.
Del resto, le possibili configurazioni di due cifre decimali sono 100, codificabili mediante 7 bit. Poiché il contenuto
informativo di due cifre decimali è di soli 7 bit, le codifiche a 8 e a 16 sono ridondanti. Se le due cifre decimali
fossero utilizzate per rappresentare il giorno del mese in una data, le configurazioni utili si ridurrebbero a 31,
riducendo a 5 il numero di bit necessari. Se fossero utilizzate per rappresentare il mese dell’anno, le configurazioni
utili si ridurrebbero a 12, riducendo a 4 bit il contenuto informativo.
5.2
Osservazioni
Se la codifica è ridondante il valore di alcuni bit diventa prevedibile conoscendo gli altri. In altri termini, alcuni bit
non aggiungono informazione a quanto già codificato dai precedenti.
Es: Ogni linguaggio naturale è ridondante. Per averne prova è sufficiente provare ad omettere un certo numero di
lettere (o parole) da un testo e verificare la capacità di una terza persona di indovinare le lettere (o le parole)
mancanti. Tutto ciò che si riesce ad indovinare è ridondante nel contesto in cui è utilizzato.
5.3
Utilità della ridondanza
L’uso di codifiche ridondanti può avere due motivazioni: la flessibilità e l’affidabilità.
• La flessibilità indica la possibilità di utilizzare la stessa codifica in situazioni diverse.
Es: la codifica a 7 bit delle due cifre decimali dell’esempio iniziale può essere utilizzata sia per il mese che per
il giorno, quella a 4 bit no. La codifica con due caratteri ASCII permette anche di rappresentare parole di due
lettere.
Es: il cosiddetto “baco del millennio” (millenium bug) che costa al mondo migliaia di miliardi è dovuto alla
scarsa lungimiranza con cui i produttori di software hanno deciso di utilizzare due sole cifre decimali per
rappresentare l’anno nelle date, dando per scontate (e quindi prive di contenuto informativo) le prime 2, fino ad
ora sempre uguali a 19.
• L’affidabilità deriva dalla capacità di alcune codifiche ridondanti di rivelare o correggere errori. Un codice non
ridondante associa univocamente una configurazione ad un significato. Un errore nella configurazione
comporta un errore di interpretazione del significato.
Una codifica ridondante a rivelazione d’errore associa significati utili solo ad un sottoinsieme delle
configurazioni possibili. Se un errore trasforma una configurazioni significativa in una non significativa, chi la
interpreta riconosce la presenza dell’errore.
Una codifica ridondante a correzione d’errore associa molte configurazioni allo stesso significato. Se un errore
trasforma una configurazione in una a cui è associato lo stesso significato, l’interpretazione resta corretta.
Es: dovendo comunicare ad un amico un numero di telefono attraverso una linea telefonica disturbata lo
ripetiamo due volte. Chi riceve confronta i due numeri ricevuti. Se sono uguali assume che non vi siano errori,
se la prima e la seconda dettatura gli risultano differenti chiede di ripetere il numero una terza volta per
decidere quale delle due interpretazioni fosse corretta. Nel primo caso il codice utilizzato prevede la
duplicazione dei dati: il numero 0722/343434 viene codificato come “0722/343434 0722/343434”. Se la prima
metà della configurazione non è uguale alla seconda la configurazione è non significativa e ad essa non è
associato alcun significato. Nel secondo caso il codice utilizzato prevede la triplicazione dei dati: il numero
verrebbe codificato come “0722/343434 0722/343434 0722/343434”. Se una delle tre repliche è diversa dalle
altre due, le due uguali permettono (a maggioranza) di intepretare correttamente l’informazione.
5.4
Compressione dei dati
Chiamiamo compressione dei dati la riduzione del numero di bit di codifica senza perdita di informazione. Codifiche
ridondanti si prestano a compressione, come dimostrano gli esempi precedenti, ma esistono anche tecniche di
compressione che agiscono su dati irridondanti sfruttando proprietà tipiche dell’informazione da rappresentare. Tali
tecniche portano a rappresentazioni la cui dimensione non è costante, ma dipende dal contenuto: se il contenuto è
tipico la rappresentazione è compatta, se è atipico lo è meno e può essere meno efficiente della rappresentazione
originale. Se le situazioni tipiche sono più probabili di quelle atipiche, la codifica compressa è mediamente
vantaggiosa.
Es: Per codificare un’immagine di 100x100 pixel a 256 colori occorrono 10kbyte, ognuno dei quali codifica il colore
di un pixel a partire dall’angolo superiore sinistro dell’immagine e procedendo per righe. La rappresentazione di
un’immagine con la metà superiore nera a quella inferiore bianca è una sequenza di 5000 byte di valore 0 (se 0 e’
il codice associato al colore nero) seguita da una sequenza di 5000 byte di valore 255 (se questo è il codice
associato al colore bianco). Tale sequenza potrebbe essere rappresentata in modo più compatto, senza perdita di
informazione, indicando il codice del colore e il numero di pixel contigui di quel colore. La rappresentazione
Facoltà di Scienze MM FF NN – Università di Urbino – A.A. 2001/2002
6
Informatica Applicata - Architetture degli elaboratori
© Alessandro Bogliolo
richiederebbe in questo caso solo 4 numeri interi (0,5000,255,5000) codificabili con 6 byte (se si utilizzano due byte
per codificare il numero di pixel). Il fattore di compressione da 10.000 a 6 è notevole, ma dipende dalla particolarità
dell’immagine utilizzata come esempio. Se l’immagine avesse zone contigue di colore omogeneo più piccole
occorrerebbero tante terne di byte quante sono le zone. Nel caso peggiore ogni pixel ha colore diverso da quelli
contigui (le zone sono 10.000) e occorrono 30.000 byte anziché 10.000 per rappresentare l’immagine. Il vantaggio
di tecniche di compressione di questo tipo si basa sulla constatazione che la maggior parte delle immagini presenta
ampie zone di colore omogeneo (quali le zone di cielo in fotografie esterne).
Es: Per rappresentare un filmato, si possono rappresentare tutti i fotogrammi indipendentemente gli uni dagli altri,
o rappresentare incrementalmente solo ciò che cambia da un fotogramma all’altro. Nel caso migliore (immagine
fissa) il fattore di compressione è altissimo. Nel caso peggiore (immagine in continuo movimento) la compressione
è controproducente. Tecniche di questo tipo si basano sulla constatazione che in molti casi larghe zone
dell’immagine si mantengono invariate da un fotogramma al successivo (si pensi al cielo in un paesaggio o allo
sfondo in un telegiornale).
Esercizi
1. Quanti bit occorrono per codificare 18 valori diversi?
2. Quanti bit occorrono per codificare i numeri pari da 2 a 16?
3. Quanti byte occorrono per codificare 300 informazioni diverse?
4. Qual e’ il più grande numero intero rappresentabile con 4 bit? A che configurazione corrisponde?
5. Elencare tutti i numeri che possono essere rappresentati in virgola mobile utilizzando 2 bit per la mantissa
e due bit per il modulo dell’esponente.
6. Quanti bit occorrono per rappresentare il numero 9.75 in virgola fissa?
7. Quanti numeri diversi si possono rappresentare in virgola mobile con 3 bit di mantissa e due bit di modulo
dell’esponente?
8. Il numero decimale 5 ammette rappresentazione in virgola mobile utilizzando 2 cifre per la mantissa e 3 per
il modulo dell’esponente? E il numero decimale 6?
9. Quanti bit di mantissa e quanti di esponente occorrono per rappresentare il numero decimale 9?
10. Quanti byte occorrono per codificare il testo tra virgolette (escluse) “Ciao a tutti.” utilizzando il codice ascii a
8 bit?
11. Quanti bit occorrono per rappresentare un’immagine di 20x20 pixel a 10 colori?
12. Quanti bit occorrono per rappresentare un filmato di 1 minuto, con risoluzione di 100x100 pixel a 1024
colori, e frequenza di 50Hz?
13. Convertire in base 2 il numero decimale 10.1.
Facoltà di Scienze MM FF NN – Università di Urbino – A.A. 2001/2002
7