La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

1 Informatica Generale Susanna Pelagatti Ricevimento: Mercoledì ore 14.30-17.30 presso Dipartimento di Informatica, Via Buonarroti,

Presentazioni simili


Presentazione sul tema: "1 Informatica Generale Susanna Pelagatti Ricevimento: Mercoledì ore 14.30-17.30 presso Dipartimento di Informatica, Via Buonarroti,"— Transcript della presentazione:

1 1 Informatica Generale Susanna Pelagatti email: susanna@di.unipi.it Ricevimento: Mercoledì ore 14.30-17.30 presso Dipartimento di Informatica, Via Buonarroti, 2 stanza 346 DE Tel. 050.2212.772 o per posta elettronica Pagina web del corso: http://www.di.unipi.it/~susanna/IG02 /

2 2 Codifica e Rappresentazione dellinformazione Cosa abbiamo visto : Rappresentazione binaria Codifica dei numeri (interi positivi, interi con segno, razionali ….) Cosa vedremo oggi: Codifica dei caratteri,Codifica delle immagini,Compressione dei dati Codifica dei suoni

3 3 La rappresentazione dei numeri allinterno di un computer (5) Razionali –numero finito di cifre periodiche dopo la virgola (ad esempio 3.12 oppure 3.453 –rappresentazione solitamente su 4/8 byte –rappresentazione in virgola fissa : riservo X bit per la parte frazionaria –es : con 3 bit per la parte intera e 2 per quella frazionaria 011.11, 101.01 Parte intera Parte frazionaria

4 4 La rappresentazione dei numeri allinterno di un computer (6) Come si converte in base 10 una rappresentazione in virgola fissa –es : 101.01 = 1* 2 2 + 0 * 2 1 + 1 * 2 0 + 0 * 2 -1 + 1 * 2 -2 = = 4 + 1+ 0.25 = 5.25 dove 2 -1 = 1/2 = 0.5, 2 -2 = 1/2 2 = 0.25 e in generale 2 -n = 1/2 n

5 5 La rappresentazione dei numeri allinterno di un computer (7) Problemi della rappresentazione in virgola fissa –overflow –undeflow quando si scende al di sotto del minimo numero rappresentabile es. vediamo in base 10, con 2 cifre riservate alla parte frazionaria 0.01 / 2 = 0.005 non rappresentabile usando solo due cifre

6 6 La rappresentazione dei numeri allinterno di un computer (8) Problemi della rappresentazione in virgola fissa (cont.) –spreco di bit per memorizzare molti 0 quando lavoro con numeri molto piccoli o molto grandi es. vediamo in base 10, con 5 cifre per la parte intera e 2 cifre riservate alla parte frazionaria 10000.00 oppure 00000.02 –i bit vengono usati più efficientemente con la notazione esponenziale o floating point (virgola mobile)

7 7 La rappresentazione dei numeri allinterno di un computer (9) Rappresentazione in virgola mobile –idea : quando lavoro con numeri molto piccoli uso tutti i bit disponibili per rappresentare le cifre dopo la virgola e quando lavoro con numeri molto grandi le uso tutte per rappresentare le cifre in posizioni elevate –questo permette di rappresentare numeri piccoli con intervalli minori fra loro rispetto ai numeri grandi –questo riduce gli errori nel calcolo a parità di bit utilizzati

8 8 La rappresentazione dei numeri allinterno di un computer (10) Rappresentazione in virgola mobile (cont.) 0 Numeri rappresentabili in virgola fissa 0 Numeri rappresentabili in virgola mobile

9 9 La rappresentazione dei numeri allinterno di un computer (11) Rappresentazione in virgola mobile (cont.) –ogni numero N è rappresentato da una coppia (mantissa M, esponente E) con il seguente significato N = M * 2 E –esempi: 1. in base 10, con 3 cifre per la mantissa e 2 cifre per lesponente riesco a rappresentare 349 000 000 000 = 3.49 * 10 11 con la coppia (3.49,11) perché M = 3.49 ed E = 11

10 10 La rappresentazione dei numeri allinterno di un computer (12) Rappresentazione in virgola mobile (cont.) –esempi: 2. in base 10, con 3 cifre per la mantissa e 2 per lesponente riesco a rappresentare 0.000 000 002 = 2.0 * 10 -9 con la coppia (2.0,-9) perché M = 2.0 ed E = -9 –sia 0.000 000 002 che 349 000 000 000 non sono rappresentabili in virgola fissa usando solo 5 cifre decimali !!!

11 11 Rappresentazione di un insieme finito di oggetti Vogliamo rappresentare i giorni della settimana : {Lu, Ma, Me, Gio, Ve, Sa, Do} usando sequenze 0 e 1 Questo significa costruire un codice, cioè una tabella di corrispondenza che ad ogni giorno associa una opportuna sequenza In principio possiamo scegliere in modo del tutto arbitrario….

12 12 Rappresentazione di un insieme finito di oggetti (2) Una possibile codifica binaria per i giorni della settimana

13 13 Rappresentazione di un insieme finito di oggetti (3) Problema : la tabellina di corrispondenza fra codifiche tutte di lunghezza diversa –spreco di memoria –devo capire come interpretare una sequenza di codifiche –110000011 = Me Gio Gio –110000011 = Gio Gio Do Gio Di solito si usa un numero di bit uguale per tutti : il minimo indispensabile

14 14 Rappresentazione di un insieme finito di oggetti (4) Per rappresentare 7 oggetti diversi servono almeno 3 bit (minima potenza di due che supera 7 è 8= 2 3 ) quindi : 000 Lunedì 110 Domenica 001 Martedì 111 non ammesso 010 Mercoledì 011 Giovedì 100 Venerdì 101 Sabato

15 15 Rappresentazione di caratteri e stringhe I caratteri sono un insieme finito di oggetti e seguono la strategia vista per i giorni della settimana Perché due diversi calcolatori si possano parlare correttamente è necessario che usino lo stesso codice

16 16 Rappresentazione di caratteri e stringhe (2) Codifiche di uso comune : –il codice ASCII (American Standard code For Information Interchange) su 7 o 8 bit –il codice UNICODE su 16 bit (più recente, permette di rappresentare anche alfabeti diversi e simboli per la scrittura di lingua orientali) Le stringhe sono generalmente sequenze di caratteri terminate in modo particolare

17 17 Rappresentazione di immagini Le immagini sono un continuo e non sino formate da sequenze di oggetti ben definiti come i numeri e le stringhe Bisogna quindi prima discretizzarle ovvero trasformarle in un insieme di parti distinte che possono essere codificate separatamente con sequenze di bit Consideriamo prima immagini fisse (foto etc …)

18 18 Rappresentazione di immagini (2) Immagini bitmap : 1. limmagina viene scomposta in una griglia di elementi detti pixel (da picture element) 000000000000000000000000 000000000011111111000000 000000000010000010000000 000000000010000100000000 000000000010001000000000 000000000010010000000000 000000000010100000000000 000000000011000000000000 000000000010000000000000 immagine codifica

19 19 Rappresentazione di immagini (3) Immagini bitmap : 2. Ogni pixel è rappresentato da uno o più bit 000000000000000000000000 000000000011111111000000 000000000010000010000000 000000000010000100000000 000000000010001000000000 000000000010010000000000 000000000010100000000000 000000000011000000000000 000000000010000000000000 Rappresentazione di un pixel

20 20 Rappresentazione di immagini (4) Rappresentazioni dei pixel : –la rappresentazione in toni di grigio : un byte per pixel, con 256 gradazioni di grigio per ogni punto (immagini bianco e nero), o più byte per pixel, per avere più gradazioni possibili –rappresentazione a colori RGB (red, green,blu) : comunemente 3 byte per pixel che definiscono lintensità di ciascun colore base. In questo modo ho circa 16 milioni di colori diversi definibili

21 21 Rappresentazione di immagini (5) Problema : –la rappresentazione accurata di una immagine dipende dal numero di pixel (definizione) dalla codifica del pixel –… e richiede generalmente molta memoria, ad esempio : tipo defin numero colori num. byte imm. televisiva 720x625 256 440 KB SVGA 1024x768 65536 1.5 MB foto 15000x10000 16milioni 430 MB

22 22 Rappresentazione di immagini (6) Quindi si cerca di risparmiare memoria : –con luso di una tavolozza (palette) che contiene il sottoinsieme dei colori rappresentabili che compare in una foto ogni pixel codifica un indice allinterno della tavolozza –con tecniche di compressione che non codificano ogni pixel in modo autonomo ma cercano di raggruppare i le aree che hanno caratteristiche comuni Formati più usati : TIFF (tagged image file format), GIF (graphics interchange format), JPEG (Joint photographers expert group)


Scaricare ppt "1 Informatica Generale Susanna Pelagatti Ricevimento: Mercoledì ore 14.30-17.30 presso Dipartimento di Informatica, Via Buonarroti,"

Presentazioni simili


Annunci Google