LA RAPPRESENTAZIONE DELLE INFORMAZIONI

Documenti analoghi
LA RAPPRESENTAZIONE DELLE INFORMAZIONI

1.2 Concetti base dell Informatica: Informazione

Somma di numeri binari

I.4 Rappresentazione dell informazione - Altre codifiche

CODIFICA IMMAGINI IN BIANCO E NERO

Rappresentazione dei numeri: il sistema di numerazione decimale

Rappresentazione binaria. Laboratorio di Informatica. Calcolatori digitali. N: numeri naturali. La codifica binaria. I primi 16 numeri binari

Numeri interi. Laboratorio di Calcolo Paola Gallo

La codifica del testo

La codifica. dell informazione

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

La codifica binaria. Informatica B. Daniele Loiacono

La codifica binaria. Fondamenti di Informatica. Daniele Loiacono

LA RAPPRESENTAZIONE DELLE INFORMAZIONI

La codifica binaria. Informatica B. Daniele Loiacono

La codifica. dell informazione

Sistemi di Elaborazione delle Informazioni

RAPPRESENTAZIONE DELLE INFORMAZIONI

Laboratorio di Informatica

Rappresentazione delle informazioni LA RAPPRESENTAZIONE DELLE INFORMAZIONI. Grandezze digitali. Grandezze analogiche

Sistemi di Elaborazione delle Informazioni 6 CFU

Rappresentazione dei Dati

LA CODIFICA DELL INFORMAZIONE

Analogico vs. Digitale. LEZIONE II La codifica binaria. Analogico vs digitale. Analogico. Digitale

Codifica dei caratteri

L'Informazione e la sua Codifica. Maurizio Palesi

Informazione binaria: suoni, immagini, sequenze video

Sistemi di Elaborazione delle Informazioni

Calcolatore e unità di misura

Codifica dell Informazione

I sistemi di numerazione. Informatica - Classe 3ª, Modulo 1

RAPPRESENTAZIONE DELLE INFORMAZIONI

La codifica dell informazione

Introduzione. Elementi di Informatica. Sistemi di Numerazione Addizionali. Sistemi di Numerazione. Sistemi di Numerazione Romano

La codifica dell informazione. Rappresentazione binaria. Rappresentazione posizionale in base 10

La codifica. dell informazione. Tipi di informazione

Rappresentazione di immagini a colori. Rappresentazione dei colori. Rappresentazione dei colori LA RAPPRESENTAZIONE DELL INFORMAZIONE - II

Informatica di Base - 6 c.f.u.

Tecnologie Multimediali a.a. 2016/2017. Docente: DOTT.SSA VALERIA FIONDA

Rappresentazione di dati: numerazione binaria. Appunti per la cl. 3 Di A cura del prof. Ing. Mario Catalano

informazione costituiti da simboli che devono essere elaborati conoscenza più o meno esatta di fatti, situazioni, modi di

CODIFICA DI CARATTERI

modificato da andynaz Cambiamenti di base Tecniche Informatiche di Base

Liceo Scientifico G. Galilei Trebisacce Anno Scolastico Prova di Informatica : Codifica delle informazioni Alunno: Classe: 1 C

Il sistema binario: bit e Byte Codifica del testo Il Byte come U.d.M. dell'informazione Multipli del Byte

Un ripasso di aritmetica: Conversione dalla base 10 alla base 2

Rappresentazione dell'informazione

La codifica digitale

Codifica dell Informazione

Elaborazione dell informazione. Elaborazione dell informazione. Rappresentazione dei numeri INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

La codifica delle immagini

Informatica. Mario Pavone - Dept. Mathematics & Computer Science - University of Catania. Trasferimento. Ambiente esterno.

Calcolatori: Rappresentazione dei Dati e Aritmetica binaria

La codifica binaria. Sommario

Corso di Informatica

Appunti di informatica: la codifica dell'informazione

Numeri in virgola mobile

Rappresentazione dell Informazione

Modulo 1: Le I.C.T. UD 1.3a: La Codifica Digitale delle Immagini

CODIFICA DI CARATTERI

Esercitazioni su rappresentazione dei numeri e aritmetica. Interi unsigned in base 2

Aritmetica dei Calcolatori Elettronici

La codifica. dell informazione

La rappresentazione delle informazioni

Aritmetica dei Calcolatori

Sistemi di Numerazione

Appunti del corso di Informatica 1 (IN110 Fondamenti) 5 Rappresentazione delle informazioni

Programma del corso. Rappresentazione delle Informazioni. Introduzione agli algoritmi. Architettura del calcolatore

Rappresentazione di Numeri Reali. Rappresentazione in virgola fissa (fixed-point) Rappresentazione in virgola fissa (fixed-point)

Segnale analogico. Analogico vs digitale. Segnale digitale. Trasformazione da analogico a digitale

Rappresentazione digitale delle informazioni

Bit, Byte, Word e Codifica Dati

Modulo informatica di base 1 Linea 2

Codice binario. Codice. Codifica - numeri naturali. Codifica - numeri naturali. Alfabeto binario: costituito da due simboli

Rappresentazione delle frazioni proprie Aritmetica in binario Barbara Masucci

La Rappresentazione dell Informazione

Fondamenti di Informatica

Rappresentazione binaria

Rappresentazione numeri reali

Aritmetica dei Calcolatori

La rappresentazione delle informazioni in un computer. La numerazione binaria

RAPPRESENTAZIONE DELLE INFORMAZIONI NEI CALCOLATORI

Informatica di Base 1 Linea 1

Fondamenti di Programmazione. Sistemi di rappresentazione

Informatica di Base 1 Linea 1

Un ripasso di aritmetica: Conversione dalla base 10 alla base 2

LA CODIFICA DELL INFORMAZIONE. Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2

Corso di Informatica

Tecnologie per il web e lo sviluppo multimediale. Rappresentazione delle informazioni

La "macchina" da calcolo

Codifica di informazioni numeriche

Codifica dell informazione

Rappresentazione delle Immagini. Corso di Informatica. Rappresentazione delle Immagini. Rappresentazione delle Immagini

Sistemi di Elaborazione delle Informazioni

Conversione binario-decimale. Interi unsigned in base 2. Esercitazioni su rappresentazione. dei numeri e aritmetica

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

Algoritmi Istruzioni che operano su dati. Per scrivere un programma è necessario. che l esecutore automatico sia in grado di.

1.3a: La Codifica Digitale delle Immagini

La codifica delle immagini

Rappresentazione dell informazione

Transcript:

ISTITUTO DI ISTRUZIONE SUPERIORE G. M. ANGIOJ GRAFICA E COMUNICAZIONE LA RAPPRESENTAZIONE DELLE INFORMAZIONI Prof. G. Ciaschetti DATI E INFORMAZIONI Sappiamo che il computer è una macchina stupida, capace di eseguire calcoli in modo velocissimo, ma non capace di pensare. Quando memorizziamo nel computer un qualsiasi dato, sia esso un numero, una parola, un immagine, un suono, un video, non è possibile fare in modo che a questo dato il computer associ anche un significato: per fare questo, occorre un cervello pensante, come quello dell uomo, molto più intelligente di un computer. Facciamo qualche esempio: se diciamo che lo sconto su un paio di scarpe da tennis è del 20 per cento, sappiamo che il numero 20 rappresenta uno sconto, ma nel computer potrò inserire solo il numero 20, poiché esso non è capace di associare al numero il fatto che rappresenta uno sconto. Un altro esempio: se l età di una persona è 18 anni, il computer può memorizzare 18, ma non il fatto che questa sia un età. Funziona anche per le immagini, i suoni e i video: un immagine nel computer è solo un insieme di bit, messi in modo da dare un colore a ogni pixel dello schermo, ma il computer non sa assolutamente se l immagine che risulta riguarda una scena sportiva o una bella donna o qualsiasi altra cosa. L uomo associa un significato ai dati, facendoli così diventare informazioni! Il computer, invece, sa trattare solo dati grezzi privi di significato, tutti rappresentati usando il linguaggio binario. Figura 1: dati e informazioni

Il linguaggio binario, come ogni linguaggio, è costruito su un alfabeto. L alfabeto binario, come è noto, è formato dai soli simboli 0 e 1 (a differenza dell alfabeto italiano che ha le 21 lettere A, B,, Z o quello inglese che ha le 26 lettere A, B,, Y, Z). Per costruire il linguaggio, a partire dall alfabeto, si usano parole. Mentre nei linguaggi naturali (quelli dell uomo, ad esempio, italiano, inglese, russo, ecc.) le parole possono avere dimensioni qualsiasi (pippo è una parola di 5 simboli, ciao di 4, ecc.), nel computer le parole hanno dimensione fissa, che dipende dal particolare computer. Solitamente, le parole possono essere di 1 byte, 2 byte, 4 byte oppure 8 byte. (un byte è una sequenza di 8 bit). Quindi, ad esempio, se un computer ha parole di 4 byte, esso userà sempre e solo parole formate con 32 simboli 0 o 1, cioè 32 bit. Quante parole si possono formare con tutti i simboli di un alfabeto? Vale la seguente regola: con un alfabeto di n simboli, si possono costruire n p diverse parole lunghe p Esempio: se l alfabeto è quello del sistema numerico decimale {0,1,, 9} e abbiamo parole di 4 simboli, possiamo costruire tutte le 10 4 = 10000 parole 0000, 0001, 0002, 0003,, 9999. Esempio: se l alfabeto è quello binario {0,1} e abbiamo parole di 3 bit, possiamo costruire le 2 3 = 8 parole 000, 001, 010, 011,, 111 (cioè tutti i numeri da 0 a 7). Esempio: se l alfabeto è quello italiano {A,B,C,,Z} e abbiamo parole di 2 lettere, possiamo costruire tutte le 21 2 = 441 parole AA, AB, AC,,AZ, BA, BB,, BZ,, ZZ. Per meglio comprendere quello che diremo, diamo un po di definizioni delle grandezze che si usano per misurare la quantità di informazione: 1 byte = 8 bit 1 Kbyte (chilo) = 2 10 byte = 1024 byte 1 Mbyte (mega) = 2 10 Kbyte = 1024 Kbyte (= 2 20 byte) 1 Gbyte (giga) = 2 10 Mbyte = 1024 Mbyte (= 2 30 byte) 1 Tbyte (tera) = 2 10 Gbyte = 1024 Gbyte (= 2 40 byte) INSIEMI NUMERICI Prima di parlare dei possibili tipi di dati che possiamo trovare dentro al computer, o dal punto di vista dell uomo, di come sono memorizzate i vari tipi di informazioni, è opportuno ricordare quali sono gli insiemi numerici in matematica. Abbiamo:

- insieme dei numeri naturali N = {0, 1, 2, 3, 4, 5, } - insieme dei numeri relativi Z = {, -3, -2, -1, 0, 1, 2, 3, } - insieme dei numeri razionali Q = { q p dove p e q appartengono a Z e sono primi tra loro} - insieme dei numeri reali R = Q + numeri irrazionali (es. e 2 sono numeri irrazionali) Si noti che non tutti i numeri possono essere rappresentati dentro a un computer. L insieme dei numeri naturali, ad esempio, è costituito da infiniti numeri, e per memorizzare un numero infinitamente grande abbiamo bisogno di una memoria infinita. Ora, per quanta memoria abbiamo nel nostro computer (4Gbyte? 8Gbyte? Qualunque!), non sarà mai infinita, quindi ci saranno alcuni numeri troppo grandi per essere memorizzati. Lo stesso vale per i numeri relativi, quelli razionali, e quelli reali. Per ognuno degli insiemi numerici elencati, quindi, non tutti gli elementi dell insieme potranno essere rappresentati nel computer, ma solo una parte di essi. In particolare, per quanto riguarda i numeri reali, notiamo che nessuno dei numeri irrazionali può essere rappresentato con esattezza, perché hanno un numero infinito di cifre, ma possiamo memorizzare nel computer solo una sua approssimazione. Allo stesso modo dovremo approssimare anche i numeri razionali che hanno troppe posizioni decimali. TIPI DI DATI Classificando i dati secondo il loro tipo, distinguiamo innanzitutto dati numerici, dati alfanumerici e dati multimediali. - Dati numerici: sono i numeri, così come li conosciamo dalla matematica, che nel computer vengono rappresentati in binario; - Dati alfanumerici: sono i simboli che troviamo sulla tastiera (ma non solo) e comprendono le lettere e tutti i caratteri speciali come la virgola, il punto e virgola, le parentesi tonde, lo spazio bianco, ecc.; - Dati multimediali: sono le immagini, i suoni, le animazioni, i video, ecc.

Tra i dati numerici, possiamo distinguere i numeri interi (che non hanno una parte decimale) e i numeri reali (che invece hanno una parte decimale). A loro volta, i numeri interi possono essere suddivisi in interi senza segno (solo interi positivi) e interi con segno (positivi e negativi), mentre i numeri reali possono essere in singola o in doppia precisione, intendendo con precisione il grado di approssimazione che è possibile effettuare. I dati alfanumerici possono essere singoli caratteri (come le lettera A, B, o i segni di punteggiatura, o le parentesi, o ogni altro simbolo che possiamo digitare sulla tastiera) o sequenze di caratteri dette stringhe (sono un po come le nostre parole, ad esempio pippo, ciao mondo, ecc.). I dati multimediali invece sono immagini, audio o video. Per ognuno di essi, vedremo le differenze dei diversi formati. Nella figura seguente è riassunta la divisione di tutti i tipi di dati che possiamo trovare nel computer: Figura 2: tipi di dati

RAPPRESENTAZIONE DEI NUMERI INTERI SENZA SEGNO Stiamo parlando dell insieme dei numeri naturali N = {0, 1, 2, 3, 4, 5, }. Nel computer, sono i numeri binari con cui abbiamo lavorato finora. Supponiamo di avere parole di 1 byte e consideriamo per il momento solo numeri interi positivi. I numeri che possiamo rappresentare con l alfabeto {0,1} su 8 bit sono tutti i numeri da 0 a 2 8-1 = 255. Se invece abbiamo parole di 2 byte, i numeri che possiamo rappresentare sono tutti quelli da 0 a 2 16-1 = 65535. In generale, con parole di n bit si possono rappresentare tutti i numeri interi positivi da 0 a 2 n -1. Esercizio: quali sono il più piccolo e il più grande numero intero senza segno che si possono rappresentare con parole di 6 bit? Esercizio: quali sono il più piccolo e il più grande numero intero senza segno che si possono rappresentare con parole di 24 bit? Esercizio: quali sono il più piccolo e il più grande numero intero senza segno che si possono rappresentare con parole di 32 bit? Solitamente, nel computer i numeri interi senza segno sono rappresentati su parole di 2 o 4 byte. RAPPRESENTAZIONE DEI NUMERI INTERI CON SEGNO Stavolta parliamo dell insieme dei numeri relativi Z = {, -3, -2, -1, 0, 1, 2, 3, }. Rappresentando il numero in binario, uno dei bit, quello più a sinistra (quello più significativo, cioè che ha maggior valore), viene usato per indicare il segno: 0 se il numero è positivo, 1 se il numero è negativo. I restanti bit vengono invece usati per rappresentare il numero in binario. Ad esempio, se abbiamo parole di 8 bit, il bit più a sinistra è utilizzato per il segno e i restanti 7 bit per il numero. Con parole di 16 bit, invece, tolto un bit per il segno, restano a disposizione solo 15 bit per il numero. Ok per il segno, ma i numeri come sono rappresentati? Quelli positivi normalmente, in binario, come siamo abituati, seguendo la regola che abbiamo già visto per i numeri senza segno: con n bit a disposizione per il numero, possiamo rappresentare tutti i numeri da 0 a 2 n 1. Nei numeri con segno, però, degli n bit a disposizione dobbiamo usarne uno per indicare il segno, quindi ne restano n 1, e possiamo arrivare al massimo al numero 2 n-1 1.

Ad esempio, se abbiamo parole di 1 byte, tolto un bit per il segno, restano 7 bit a disposizione con cui possiamo rappresentare tutti i numeri positivi da 0 a 2 7 1 = 127. Se invece abbiamo, ad esempio, una parola di 32 bit, il numero positivo con segno che possiamo rappresentare è 2 32 1 che fa circa 4 miliardi. I numeri negativi, invece, sono rappresentati non in valore assoluto, ma in complemento a 2: il numero N è rappresentato come il complemento a 2 del numero N. Ma cos è, esattamente, il complemento di un numero? DEFINIZIONE: data una base b, e un numero N in base b di n cifre, si definisce complemento di N in base b il numero N (b) = b n - N Esempio: se b=10, e N = 982, risulta n = 3 e abbiamo 982 (10) = 10 3 982 = 18 Esempio: se b=2, e N = 001, risulta n = 3 e abbiamo 001 (2) = 2 3 1 = 111 Esempio: se b=10, e N = 24, risulta n = 2 e abbiamo 24 (10) = 10 2 24 = 78 Dagli esempi, si può osservare che il complemento di un numero è quanto manca al numero per arrivare alla prossima potenza della base. Nel primo esempio, quanto manca a 982 per arrivare a 1000, nel secondo esempio quanto manca a 1 per arrivare a 8 in binario. Nel terzo esempio, quanto manca a 24 per arrivare a 100. Per trovare il complemento di un numero binario, anche detto complemento a 2, possiamo seguire una regola pratica molto semplice (di fatto, il computer fa così): REGOLA PRATICA: Si prende il numero in binario, si invertono tutti i bit (gli 0 diventano 1 e gli 1 diventano 0), e al numero ottenuto si somma 1. Perché questo funzioni, tuttavia, è necessario fissare il numero di bit della parola con cui sarà rappresentato il numero. Negli esempi che seguono, prendiamo parole di 1 byte, ma potrebbero tranquillamente essere di 2 byte, 4 byte o quanti vogliamo. Esempio: dato il numero 01010011 si scambiano le cifre 10101100 + si somma 1 1 = complemento a 2 10101101

Esempio: dato il numero 01011110 si scambiano le cifre 10100001 + si somma 1 1 = complemento a 2 10100010 Torniamo ai numeri negativi: abbiamo detto che sono rappresentati in complemento a 2. Ma come? Semplice, si scrive il numero come positivo, con tutti i bit a disposizione nella parola, e si fa il suo complemento applicando la regola appena vista. Supponendo ancora di avere parole di 1 byte, Esempio: rappresentazione di -5 rappresentiamo il 5 00000101 facciamo il suo complemento 11111011 Esempio: rappresentazione di -121 rappresentiamo il 121 01111001 facciamo il suo complemento 10000111 Possiamo verificare che il numero negativo così rappresentato è proprio l opposto del suo valore assoluto. Infatti, se fissiamo il numero di bit (ad esempio 8), e ignoriamo eventuali riporti su cifre eccedenti a sinistra, possiamo verificare quanto detto Esempio: 5 + (-5) = 0 rappresentazione di 5 00000101 rappresentazione di -5 11111011 somma 100000000 (sarebbe infatti 2 8 se potessimo prendere il nono bit) Facciamo anche un esempio supponendo di avere a disposizione parole di 2 byte. Esempio: rappresentazione di -65 rappresentiamo il 65 0000000001000001 facciamo il suo complemento 1111111110111111

Vediamo allora quali numeri negativi possiamo rappresentare. Nell ipotesi di avere due byte a disposizione per le nostre parole, iniziamo col fare il complemento a 2 dei numeri 1, 2,. 1 0000000000000001-1 1111111111111111 2 0000000000000010-2 1111111111111110 3 0000000000000011-3 1111111111111101 4 0000000000000100-4 1111111111111100 Come si può osservare, i numeri positivi iniziano con 0, quelli negativi con 1. Inoltre, mentre i numeri positivi crescono, quelli negativi decrescono. Arriviamo fino ai più grandi positivi e i più piccoli negativi che possiamo rappresentare su due byte. 32765 0111111111111101-32765 1000000000000011 32766 0111111111111110-32766 1000000000000010 32767 0111111111111111-32767 1000000000000001 Possiamo decrescere ancora con i numeri negativi (mentre per quelli positivi non possiamo più crescere), quindi possiamo rappresentare anche il -32768 con 1000000000000000. In definitiva, con 2 byte a disposizione, possiamo rappresentare tutti i numeri interi da -32768 a 32767. Se avessimo invece parole di un solo byte, potremmo rappresentare tutti gli interi da -128 a 127. In generale, vale la seguente regola: con n bit si possono rappresentare tutti i numeri interi con segno da -2 n-1 a 2 n-1-1. Solitamente, nel computer i numeri interi con segno sono rappresentati su parole di 2 o 4 byte. Esercizio: quali sono il più piccolo e il più grande numero intero con segno che si possono rappresentare con parole di 24 bit? Esercizio: quali sono il più piccolo e il più grande numero intero con segno che si possono rappresentare con parole di 5 bit? Esercizio: come viene rappresentato nel computer il numero -24 con una parola di 16 bit?

RAPPRESENTAZIONE DEI NUMERI REALI Come abbiamo già detto, poiché i numeri irrazionali possono essere rappresentati solo con una loro approssimazione, parliamo dell insieme dei numeri razionali Q, cioè quelli che hanno una parte intera e una parte decimale. La rappresentazione che noi umani siamo abituati ad usare è quella in virgola fissa, che prevede di elencare a sinistra della virgola la parte intera, e a destra della virgola la parte decimale. Esempi: 1.5 0.000123 12.01 Il computer invece utilizza una rappresentazione in virgola mobile, o anche detta notazione scientifica. In questa, si distinguono una mantissa e un esponente, e si usa la lettera E per separare le due cose. Il significato del numero è il seguente: mantissaeesponente = mantissa * 10 esponente. Esempi: numero in virgola mobile 3E-4-12E5 1.4E2 numero rappresentato 3*10-4 -12*10 5 1.4*10 2 numero in virgola fissa 0.0003-120000 1400 Un numero in virgola mobile può sempre essere scritto in modo che la mantissa abbia un valore assoluto minore di 1, e la prima cifra decimale maggiore di zero. In questo caso, si parla di notazione in virgola mobile normalizzata, e il computer usa questo modo di rappresentare i numeri in virgola mobile. Esempi: 3E-4 12E5 1.4E2 virgola mobile normalizzata 0.3E-3 0.12E7 0.14E3 In genere, i reali sono rappresentati su più parole, poiché per essi è richiesta una precisione maggiore che per gli interi. Avendo a disposizione 4 byte, ad esempio, la ripartizione dei bit è come segue: Un bit per il segno (0 se positivo, 1 se negativo) 8 bit per l esponente aumentato di 127 (negativo se <127, positivo se >127) 23 bit per la mantissa (lo 0 e la virgola non sono rappresentati)

Se si hanno a disposizione 8 byte, invece, il numero di bit per la mantissa e l esponente risulta raddoppiato. Più precisamente, con 8 byte a disposizione abbiamo un bit per il segno, 16 bit per l esponente (che risulta aumentato di 32767) e 47 bit per la mantissa. Solitamente, i numeri reali in singola precisione sono rappresentati su 4 byte, quelli in doppia precisione su 8 byte. Il termine precisione sta a indicare il fatto che per molti numeri che non possono essere rappresentati (i numeri irrazionali, oppure quelli razionali con troppe cifre decimali) possiamo usare solo un approssimazione, che sarà tanto più precisa quante più cifre decimali riusciamo a codificare in binario. RAPPRESENTAZIONE DELLE INFORMAZIONI ALFANUMERICHE Per la rappresentazione dei caratteri si utilizza una codifica: ogni carattere viene associato a un numero binario. Le codifiche più usate sono: - la codifica ASCII (American Standard Code for Information Interchange), associa un numero di 8 bit a ogni possibile carattere (che sia una lettera, una cifra, un segno di punteggiatura, un caratteri speciali, ecc.). Quindi, secondo la codifica ASCII, è possibile rappresentare fino a 2 8 = 256 simboli. Solitamente, leggendo una tabella ASCII come quella in figura seguente, troviamo il numero corrispondente a un carattere riportato, anziché in binario, come il suo equivalente in decimale, in ottale o in esadecimale. Per richiamare un particolare carattere conoscendo il suo codice ASCII è possibile premere ALT + numero (sul tastierino numerico). Ad esempio, il carattere { corrisponde a ALT+123, mentre il carattere } corrisponde a ALT+125 (ci serviranno molto nel linguaggio C). - la codifica UNICODE (Unified Code): poiché la globalizzazione ha comportato la necessità di comunicare sempre più spesso con persone che usano altri alfabeti, diversi da quello latino (cirillico per i russi, ideogrammi cinesi e giapponesi, ecc.), è stata ampliata la codifica ASCII da 8 a 16 bit, prendendo il nome di UNICODE. Con questa codifica, è possibile rappresentare fino a 2 8 = 65536 caratteri diversi. Le stringhe sono sequenze di caratteri, e vengono rappresentate in modi diversi a seconda dei linguaggi di programmazione. Il Pascal e il Visual Basic, ad esempio, utilizzano il tipo string che può avere un numero qualsiasi di caratteri. Il C, invece, nella sua versione base, non prevede un

tipo string, ma considera le stringhe come vettori di caratteri. Solo il C++, successivamente, ha introdotto delle estensioni del linguaggio per supportare tale tipo di dato. Figura 3: tabella dei codici ASCII

RAPPRESENTAZIONE DELLE INFORMAZIONI MULTIMEDIALI 1. Immagini Le immagini nel computer possono essere di due tipi: immagini raster o immagini vettoriali. - Immagini raster: l immagine è realizzata con una griglia di pixel, a ognuno dei quali viene dato uno specifico colore. Figura 4: immagine raster Il numero di pixel che vengono utilizzati è detto risoluzione grafica dell immagine, ed è misurato in dpi (dots per inch punti per pollice). Maggiore è la risoluzione grafica, maggiore è la qualità dell immagine. Il numero di colori che è possibile assegnare a ogni pixel si chiama risoluzione cromatica dell immagine, ed è determinato dal numero di bit che vengono usati (la risoluzione cromatica, infatti, viene anche chiamata bitdepth profondità di bit). Con n bit, si possono rappresentare fino a 2 n colori. Ad esempio, con 8 bit abbiamo un immagine a 256 colori, con 16 bit un immagine a 65536 colori, con 24 bit un immagine a 16 milioni di colori (si parla in questo caso di true color i colori sono formati a partire dai colori di base rosso, verde e blu, sistema RGB, e vengono usati 8 bit per il rosso, 8 bit per il verde, 8 bit per il blu). Il vantaggio delle immagini raster è che usando la griglia di pixel si riescono a rappresentare immagini di maggiore qualità. Lo svantaggio principale sta nel fatto che ingrandendo l immagine anche la dimensione dei pixel si ingrandisce, con decadimento della qualità (effetto sgranamento).

Formati di immagini raster sono: bmp jpeg gif png Bitmap: è il formato raster puro: la dimensione del file sarà dato dal prodotto del numero di pixel per la risoluzione cromatica. Non è adatto per internet, a causa della grande dimensione dei file. È un formato compresso di alta qualità (16 milioni di colori), molto usato per la diffusione su internet di immagini fotografiche. E un formato compresso di bassa qualità (256 colori), che però supporta la trasparenza e le animazioni in sequenza. E un formato compresso che ha tutti i vantaggi dei formati jpeg e gif, e sta diventando sempre più diffuso. - Immagini vettoriali: l immagine è costruita con oggetti geometrici (curve, linee, cerchi, poligoni, ecc.), ognuno dei quali ha una propria informazione di colore. Di ogni oggetto geometrico, viene memorizzata solo la relativa formula matematica. Figura 5: immagine vettoriale I principali vantaggi delle immagini vettoriali sono che, a differenza delle immagini raster, la qualità dell immagine rimane inalterata anche a seguito di ingrandimenti o rotazioni; inoltre, la dimensione dei file è molto piccola. Lo svantaggio principale è che questo tipo di immagini supportano un basso numero di colori, e non sono adatte per immagini troppo complesse (come ad esempio le fotografie). Formati di immagini vettoriali sono: wmf cgm svg Windows Meta File: è il formato delle clip art di Windows Computer Graphics Metafile: non adatto per immagini su internet (non tutti i browser sanno interpretare le formule per ricostruire l immagine) Scalable Vector Graphics: standard di per le immagini vettoriali su internet

2. Audio Le informazioni sonore nel computer sono memorizzate effettuando un campionamento e una quantizzazione del segnale audio analogico. Nel campionamento, si misura ogni tot di tempo (frequenza di campionamento, misurata in Hertz quante volte in un secondo) l ampiezza dell onda sonora. Figura 6: il campionamento Maggiore è la frequenza di campionamento, migliore è l approssimazione digitale del suono, come possiamo vedere nella figura seguente. Figura 6: la frequenza di campionamento Perché il campionamento non abbia perdita di qualità, basta campionare a una frequenza maggiore del doppio della frequenza più alta del suono da digitalizzare. Ad esempio, se dobbiamo campionare la voce umana che ha frequenze che variano da 500 a 2000 Hertz, per non perdere qualità dobbiamo usare una frequenza di campionamento di almeno 4000 Hert. Siccome i suoni udibili dall uomo hanno frequenze che variano da 20 a 20K Hertz, campionando a 40KHertz non c è nessuna perdita di qualità sonora. Ovviamente, maggiore è la frequenza di campionamento, maggiore è l occupazione di memoria del suono digitale.

Nella quantizzazione, si decidono i possibili livelli che è possibile associare a ogni campione (non possono essere infiniti). A ogni campione viene dato il livello più vicino per approssimazione. Questo parametro è legato al numero di bit (e infatti, si chiama anche bitdepth o profondità di bit), secondo la seguente regola: con n bit si ottengono 2 n possibili livelli di quantizzazione. Ad esempio, con 1 bit si ottengono 2 diversi livelli di quantizzazione, con 8 bit abbiamo 256 livelli, con 16 bit abbiamo 65536 livelli, ecc. Figura 7: la quantizzazione Ovviamente, maggiore è il numero di livelli di quantizzazione, maggiore è l occupazione di memoria. la frequenza di campionamento, maggiore è l occupazione di memoria del suono digitale. La frequenza di campionamento, così come la profondità di bit da utilizzare quando si digitalizza un suono, dipendono dal tipo di suono: per una conversazione telefonica, ad esempio, bastano valori bassi (f c = 8KHz, bitdepth = 8), mentre per un brano di qualità CD servono valori molto alti (f c = 44KHz, bitdepth = 32). Formati di audio digitali sono: wav mp3 Wave: è il formato raster puro per l audio digitale: l occupazione di memoria è pari al prodotto della frequenza di campionamento per la durata del brano per il bitdepth per il numero di canali (mono o stereo). E un formato compresso molto utile per lo scambio (anche in internet) di audio digitale: riesce a ridurre l occupazione di memoria fino a 12 volte senza perdita di qualità.

3. Video Si tratta di immagini digitali in movimento, che possono contenere suoni oppure no. Per dare all occhio umano l impressione del movimento, si fanno scorrere le immagini in modo molto rapido (30 immagini al secondo per i film, 24 immagini al secondo per i cartoni animati). La digitalizzazione di contenuti video richiede una grande occupazione di memoria, per cui è sempre necessario l uso di tecniche di compressione dei dati. I principali vantaggi del video digitale rispetto a quello analogico sono i seguenti: Facilità di fare delle copie dell'originale, senza perdita di qualità. Facilità di inviare il filmato (trasferimento di un file, streaming, ecc.) Facilità di manipolare il filmato (montaggio, effetti speciali, ecc.) Formati di video digitali sono: avi flv wmv mp4 Audio Video Interleave: E un formato contenitore che può contenere un flusso video e fino a due flussi audio in altri formati. Non supporta sottotitoli. E il formato utilizzato da Flash Player, utilizzato dai siti Youtube, Google, e molti altri. Windows Media Video: è il formato usato da Movie Maker, e dispone di meccanismi per la gestione dei diritti d autore digitali. E l evoluzione video dell algoritmo di compressione mp3 per l audio, basato su tecnologia QuickTime. Consente un ottima compressione senza perdita di qualità.