Abilità Informatiche A.A. 2010/2011 Lezione 3: Rappresentazione dei Dati. Facoltà di Lingue e Letterature Straniere

Documenti analoghi
Codifica delle Informazioni

Facoltà di Pianificazione del Territorio A.A. 2011/2012. Informatica

Un ripasso di aritmetica: Rappresentazione binaria - operazioni. riporti

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

Informazione analogica e digitale

Come si misura la memoria di un calcolatore?

Nella prima lezione... Che cos è il Digitale. Prima parte: Che cos è il Digitale. Che cos è il Digitale. Che cos è il Digitale

PDF created with pdffactory trial version

L'informazione e la sua codifica

La codifica delle immagini

2. Codifica dell informazione

Codifica dell informazione

Codifica dell informazione

Unione Europea Repubblica Italiana Regione Calabria Cooperativa sociale

4 3 4 = 4 x x x 10 0 aaa

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l Ambiente e il Territorio

la scienza della rappresentazione e della elaborazione dell informazione

Informatica. Rappresentazione binaria Per esempio diventa /10/2007. Introduzione ai sistemi informatici 1

Rappresentazione binaria

Rappresentazione di informazioni con un alfabeto finito

Le immagini digitali. Le immagini digitali. Caterina Balletti. Caterina Balletti. Immagini grafiche. Trattamento di immagini digitali.

Elementi di Informatica. ( Lezione II, parte I ) Sistemi di numerazione: binario, ottale ed esadecimale

Appunti di informatica. Lezione 2 anno accademico Mario Verdicchio

Lezione 2: Codifica binaria dell informazione. Codifica binaria

SISTEMI DI NUMERAZIONE E CODICI

Rappresentazione dell informazione Codifica Binaria

la scienza della rappresentazione e della elaborazione dell informazione

Numerazione binaria e rappresentazione delle informazioni

Sistemi di Numerazione

Informatica per la comunicazione" - lezione 7 -

Sistemi di numerazione: binario, ottale ed esadecimale

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Rappresentazione dell informazione. Bogdan Maris ( )

Rappresentazione delle informazioni

Marta Capiluppi Dipartimento di Informatica Università di Verona

CODIFICA BINARIA. ... sono rappresentati ricorrendo a simboli che sintezzano il concetto di numerosità.

Informatica. Rappresentazione dei numeri Numerazione binaria

Scheda di approfondimento gioco I pixel

Sistemi di Numerazione Binaria NB.1

Rappresentazione dei numeri in un calcolatore

C M A P M IONAM A E M NT N O

Parte II Indice. Operazioni aritmetiche tra valori rappresentati in binario puro. Rappresentazione di numeri con segno

La codifica delle Immagini. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132Sesto San Giovanni

Lezione 2 OPERAZIONI ARITMETICHE E LOGICHE ARCHITETTURA DI UN ELABORATORE. Lez2 Informatica Sc. Giuridiche Op. aritmetiche/logiche arch.

I sistemi di numerazione

Elementi di Informatica e Programmazione

Logica e codifica binaria dell informazione

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dell informazione negli elaboratori

La codifica dell informazione

Tutto digitale. Musica Giornali, Libri satellite (TV, GPS) Telefoni: ISDN, GSM rete telefonica, internet Video (DVD) oh, anche il PC

= 1*2^7 + 1*2^6 + 0*2^5 + 1*2^4 + 0*2^3 + 0*2^2 + 1*2^1 + 0*2^0 = 210

Appunti sulla Macchina di Turing. Macchina di Turing

Aritmetica dei Calcolatori 1

ESEMPIO 1: eseguire il complemento a 10 di 765

Dispense di Informatica per l ITG Valadier

Strutturazione logica dei dati: i file

Megabyte (MB) = 1024KB 1 milione di Byte (e.g. un immagine di 30MB) Gigabyte (GB) = 1024MB 1 miliardo di Byte (e.g. un hard disk da 80GB)

SISTEMI DI NUMERAZIONE IL SISTEMA DECIMALE

Operazioni Aritmetiche e Codici in Binario Giuseppe Talarico 23/01/2013

ELETTRONICA DIGITALE

Codifica binaria dei numeri

Laboratorio di Informatica

Perché la traduzione in formato numerico è tanto importante? Come avviene la conversione? Perchè vogliamo convertire l'informazione?

Alessandro Pellegrini

Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno

Immagini vettoriali. Immagini raster

CONCETTO DI LIMITE DI UNA FUNZIONE REALE

IL CODICE BINARIO. Il codice binario. Codifica posizionale. Aritmetica binaria

Il sistema di numerazione posizionale decimale INFORMATICA DI BASE. Sistemi di numerazione: binario, ottale ed esadecimale

Immagini digitali Appunti per la classe 3 R a cura del prof. ing. Mario Catalano

Informatica per la Storia dell Arte

Rappresentazione e Memorizzazione dei Dati

SISTEMI DI NUMERAZIONE DECIMALE E BINARIO

Prof. Alberto Postiglione Scienze della Comunicazione. Università degli Studi di Salerno

Codifica binaria dei numeri relativi

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Fondamenti di Informatica INFORMATICA ED UNITA DI MISURA

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

(71,1), (35,1), (17,1), (8,1), (4,0), (2,0), (1,0), (0,1) 0, = 1, 431 0, = 0, 862 0, = 1, 792 0, = 1, 448 0, = 0, 896

Operazioni binarie fondamentali

Definizioni iniziali

Parte 1. Vettori di bit - AA. 2012/13 1.1

RAPPRESENTAZIONE DELLE INFORMAZIONI

Parte Terza: Codificare l informazione. Fondamenti di informatica

Lez. 3 L elaborazione (II parte) Prof. Pasquale De Michele Gruppo 2

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Librerie digitali. Video. Gestione di video. Caratteristiche dei video. Video. Metadati associati ai video. Metadati associati ai video

Algoritmi e strutture dati. Codici di Huffman

Introduzione all Informatica

La codifica delle informazioni

Elementi di informatica

Variabili e tipi di dato

Convertitori numerici in Excel

Informatica Generale 02 - Rappresentazione numeri razionali

Codici Numerici. Modifica dell'informazione. Rappresentazione dei numeri.

Transcript:

Abilità Informatiche A.A. 2010/2011 Lezione 3: Rappresentazione dei Dati Facoltà di Lingue e Letterature Straniere

Ricapitolando I computer sanno eseguire solo un numero molto ridotto di operazioni su simboli di un dato linguaggio (i numeri binari, che vedremo). Per funzionare i computer hanno bisogno di: Un programma che li istruisca su cosa fare Dati sui quali agire Abbiamo quindi bisogno di tradurre sia i programmi che i dati in un linguaggio comprensibile al computer. Parleremo di rappresentazione e codifica dell informazione. 2

Gestione delle informazioni Nelle attività umane, le informazioni vengono gestite (registrate e scambiate) in forme diverse: idee informali linguaggio naturale (scritto o parlato, formale o colloquiale, in una lingua o in un altra) disegni, grafici, schemi numeri e codici e su vari supporti memoria umana, carta, dispositivi elettronici 3 Nelle attività standardizzate dei sistemi informativi complessi, sono state introdotte col tempo forme di organizzazione e codifica delle informazioni Ad esempio, nei servizi anagrafici si è iniziato con registrazioni discorsive e poi nome e cognome estremi anagrafici codice fiscale

Informazioni e dati Nei sistemi informatici (e non solo), le informazioni vengono rappresentate in modo essenziale, spartano: attraverso i dati Dal Vocabolario della lingua italiana: informazione: notizia, dato o elemento che consente di avere conoscenza più o meno esatta di fatti, situazioni, modi di essere. dato: ciò che è immediatamente presente alla conoscenza, prima di ogni elaborazione; (in informatica) elementi di informazione costituiti da simboli che debbono essere elaborati. 4

Dati e informazioni I dati hanno bisogno di essere interpretati. Esempio Mario 275 su un foglio di carta sono due dati. Se il foglio di carta viene fornito in risposta alla domanda A chi mi devo rivolgere per il problema X; qual è il suo interno?, allora i dati possono essere interpretati per fornire informazione e arricchire la conoscenza. Perché i dati? La rappresentazione precisa di forme più ricche di informazione e conoscenza è difficile. I dati costituiscono spesso una risorsa strategica, perché più stabili nel tempo di altre componenti (processi, tecnologie, ruoli umani). 5

Codifica dell informazione Per rappresentare l informazione in modo non fruibile dal computer abbiamo bisogno di codici che la possano esprimere in modo semplice, sintetico e non ambiguo. Un codice (o linguaggio) su basa su: Un alfabeto di simboli Una sintassi con cui comporre tali simboli in sequenze Una semantica da associare ai simboli e alle sequenze 6

Informazione e supporto L informazione è portata da, o trasmessa su, o contenuta in qualcosa ; questo qualcosa non è l informazione stessa, ma il supporto. Ogni supporto ha le sue caratteristiche in quanto mezzo su cui può essere scritta dell informazione. Alcuni supporti sono adatti alla trasmissione ma non alla memorizzazione dell informazione (aria, cavi,..) e viceversa (CD, hard disc,..). 7

Stessa informazione, diversi supporti cinque 8 7 6 5 4 3 2 1 0 8

Stesso supporto, diversa informazione inglese italiano fare italiano inglese tariffa, prezzo. to make, to do, to build. spagnolo italiano burro italiano spagnolo asino, cavalletto, somaro. mantequilla, manteca. 9

Entità logiche e fisiche Distinguere informazione e supporto fisico è distinguere tra entità logiche ed entità fisiche. L informazione richiede un supporto fisico, ma non coincide con esso. L informazione è una entità extra-fisica, non interpretabile in termini di materia-energia e sottoposta alle leggi della fisica solo perché basata su un supporto fisico. L informazione si può creare e distruggere. 10

Quando un sistema fisico supporta informazione? Si ottiene informazione quando, dato un insieme di alternative possibili, la lettura del supporto ne elimina alcune e ne seleziona altre. Condizione necessaria perché un supporto possa portare informazione è che possa assumere configurazioni differenti, a ognuna delle quali venga associata una differente entità di informazione. 11

Prima condizione sul supporto Un supporto che possa presentarsi sempre e comunque in un unico modo non può portare alcuna informazione. Il supporto fisico deve consentire di distinguere tra le varie configurazioni attraverso determinate differenze. Il caso più semplice è quello in cui le configurazioni del supporto sono due. 12

Configurazioni e codici A ogni configurazione del supporto deve essere associata una entità di informazione. A esempio: interruttore premuto = luce accesa interruttore rilasciato = luce spenta. Per interpretare le differenti configurazioni del supporto in termini di informazione è necessario conoscere il codice, ovvero la regola che ad ogni configurazione (ammessa) del supporto associa una entità di informazione. La definizione di un codice comporta che sia identificato in modo non ambiguo l insieme delle possibili configurazioni del supporto e delle possibili entità di informazione cui ci si vuole riferire. Ad uno stesso supporto fisico possono essere associati più codici. 13

Possibili rappresentazioni dei numeri Unaria: una barretta per unita Ad es: IIIIIIIIIIIIII rappresenta 15!!! Numeri Romani con multipli di 5: Alfabeto: I(uno) V(5) X(10) L(50) C(100) D(500) M(1000) Si minimizza numero di simboli ad es: I II III IV V. XL (40). MCCLXXI (1271). Problema con numeri > 4000: Ad es. MMMMMMMMMMMM Difficile eseguire le operazioni! 14

Il codice binario (1) Il bit è il supporto più semplice. Possiamo immaginare il bit come un interruttore che ha soltanto due posizioni (configurazioni): 0 1 15

Il codice binario (2) Definire un codice binario significa associare ad ogni configurazione di bit una certa entità di informazione. Anche se tipicamente le entità di informazione associate sono numeri decimali, è possibile associare qualsiasi insieme di oggetti all insieme di configurazioni. La codifica binaria più semplice è quella ad 1 bit, ovvero: binario decimale 0 0 1 1 16

Il codice binario (3) Si possono definire codifiche costituite da un numero n arbitrario di bit. Ad esempio: Codifica a 2 bit (4 configurazioni) bin dec 00 0 01 1 10 2 11 3 Codifica a 3 bit (8 configurazioni) bin dec 000 0 001 1 010 2 011 3 100 4 101 5 110 6 111 7 17

Il codice binario (4) Dato una parola di n bit, il numero delle possibili configurazioni è 2 n. Ad esempio, nella codifica a 3 bit vi sono 2 3 = 8 configurazioni. Il codice binario è detto posizionale, in quanto ogni bit assume valore più o meno significativo a seconda della sua posizione. Tipicamente, più i bit sono posizionati verso sinistra, maggiore è il loro valore. La traduzione da binario a decimale si effettua moltiplicando il valore 2 k per ogni bit (dove k è la posizione del bit all interno della codifica, partendo da destra) e sommando tutti i valori ottenuti. 18

Notazione posizionale in base 10 La rappresentazione di un numero intero in base 10 è una sequenza di cifre scelte fra 0 1 2 3 4 5 6 7 8 9 es: 23, 118, 4 Il valore di una rappresentazione è dato da 23 = 2*10 1 + 3 * 10 0 = 20 + 3 118 = 1*10 2 + 1*10 1 + 8 * 10 0 = 100 + 10 + 8 19

Notazione posizionale in base 10: limite nella rappresentazione Il massimo numero rappresentabile con n cifre è 99.9 (n volte 9, la cifra che vale di più), pari a 10 n -1 es: su tre cifre il massimo numero rappresentabile è 999 pari a 10 3-1 =1000-1 20

Notazione posizionale in base 2 La rappresentazione di un numero intero in base 2 è una sequenza di cifre scelte fra es: 10, 110, 1 0 1 Il valore di una rappresentazione è dato da 10 = 1*2 1 + 0 *2 0 = 2 110 = 1*2 2 + 1*2 1 + 0 * 2 0 = 4 + 2 + 0 = 6 1 = 1 *2 0 = 1 21

Conversione da base 10 a base 2 Dato un numero N si calcola la sua rappresentazione in base 2 Conversione per divisione : si divide ripetutamente N per 2 i resti ottenuti nella divisioni presi nell ordine inverso in cui sono stati calcolati formano la sua rappresentazione binaria 22

Conversione da base 10 a base 2 Come si converte N nella sua rappresentazione in base 2 usando il metodo della divisione Es : convertiamo il numero 13 13 / 2 = quoziente 6 e resto 1 6 / 2 = quoziente 3 e resto 0 3 / 2 = quoziente 1 e resto 1 1 / 2 = quoziente 0 e resto 1 La rappresentazione binaria di 13 è 1101 23

Conversione da base 10 a base 2 Si calcolano i resti delle divisioni per due 18 : 2 = 9 resto 0 9 : 2 = 4 resto 1 4 : 2 = 2 resto 0 2 : 2 = 1 resto 0 1 : 2 = 0 resto 1 10010 137 : 2 = 68 resto 1 68 : 2 = 34 resto 0 34 : 2 = 17 resto 0 17 : 2 = 8 resto 1 8 : 2 = 4 resto 0 4 : 2 = 2 resto 0 2 : 2 = 1 resto 0 1 : 2 = 0 resto 1 10001001 24

Da binario a decimale, un esercizio La base é b = 2. Si possono utilizzare solo le cifre 0 e 1. Esercizio Trasformare il numero binario 101001011 nella corrispondente rappresentazione decimale. 101001011 2 = 1 x 2 8 + 0 x 2 7 + 1 x 2 6 + 0 x 2 5 + 0 x 2 4 + 1 x 2 3 + 0 x 2 2 + 1 x 2 1 + 1 x 2 0 = = (256 + 64 + 8 + 2 + 1) = = 331 25

Un altro esempio Tradurre in decimale la seguente parola di 5 bit. Posizione: 4 3 2 1 0 Bit più significativo (MSB) 1 0 1 0 1 Bit meno significativo (LSB) 1 2 4 + 0 2 3 + 1 2 2 + 0 2 1 + 1 2 0 = 16 + 0 + 4 + 0 + 1 = 21 26

Notazione posizionale in base 2 Per la base due valgono proprietà analoghe a quelle viste per la base 10 Il massimo numero rappresentabile con N cifre è 11.1 (N volte 1, la cifra che vale di più), pari a 2 N -1 es: su tre cifre il massimo numero rappresentabile è 111 pari a 2 3-1 = 8-1 = 7 Quindi se voglio rappresentare K diverse configurazioni (cioè 0 1 2 K-1) mi servono almeno almeno x cifre dove 2 x è la più piccola potenza di 2 che supera K es : se voglio 25 configurazioni diverse mi servono almeno 5 cifre perché 2 5 =32 è la più piccola potenza di 2 maggiore di 25 27

Base 2: un esercizio Con n bit è possibile rappresentare 2 n numeri naturali diversi, da 0 a 2 n -1. 0 = 000 000 (n zeri) 2 n -1 = 111 111 (n uni) Esercizio: quali sono i numeri naturali che si possono rappresentare con quattro bit? Soluzione: Tutti i numeri naturali compresi tra 0 e 2 4-1 = 16-1= 15 28

Rappresentazione dei numeri all interno di un computer Usa la notazione binaria Ogni numero viene rappresentato con un numero finito di cifre binarie (bit) Numeri di tipo diverso hanno rappresentazioni diverse 29 Es. interi positivi, interi (pos. e neg.), razionali, reali, complessi Alcuni punti importanti: se uso 4 byte (32 bit) posso rappresentare solo i numeri positivi da 0 a 232-1=231, che sono molti ma non tutti! se moltiplico o sommo due numeri molto elevati posso ottenere un numero che non è rappresentabile Es. vediamo cosa succede in base 10 con solo 3 cifre : 500 + 636 = 1136 risultato 136 se uso solo 3 cifre non ho lo spazio fisico per scrivere la prima cifra (1) che viene persa : Questo fenomeno viene chiamato overflow

Rappresentazione di interi all interno di un computer Interi positivi e negativi: es. il tipo int in C usa di solito 4 byte ci sono diverse convenzioni di rappresentazione Es: modulo e segno (MS) in cui il primo bit viene riservato al segno (1 negativo, 0 positivo) e gli altri 31 al modulo rimane il problema dell overflow 30

Rappresentazione di un insieme finito di oggetti (un esempio) 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 la corrispondenza in modo del tutto arbitrario. 31

Rappresentazione di un insieme finito di oggetti (un esempio/1) Una possibile codifica binaria per i giorni della settimana Lunedì 0100010001 Martedì 001 Mercoledì 1100000 Giovedì 1 Venerdì 101010 Sabato 111111 Domenica 000001 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 32

Rappresentazione di un insieme finito di oggetti (un esempio/2) Di solito si usa un numero di bit uguale per tutti : il minimo indispensabile Per rappresentare 7 oggetti diversi servono almeno 3 bit (minima potenza di due che supera 7 è 8= 2 3 ) quindi: 000 Lunedì 001 Martedì 010 Mercoledì 011 Giovedì 100 Venerdì 101 Sabato 110 Domenica 111 non ammesso 33

I giorni della settimana in binario Codifica ad 1 bit Codifica a 2 bit Codifica a 3 bit Lunedì Martedì Mercoledì Giovedì Venerdì Sabato Domenica 0 1 Lunedì Martedì Mercoledì Giovedì Venerdì Sabato Domenica 00 01 10 11 Lunedì Martedì Mercoledì Giovedì Venerdì Sabato Domenica 000 001 010 011 100 101 110 111 2 configurazioni 4 configurazioni 8 configurazioni 34

Unità di misura ed ordini di grandezza Bit = unità di misura elementare. Vale 0 o 1. Byte = 8 bit KiloByte [KB ] = 2 10 Byte = 1024 Byte ~ 10 3 Byte MegaByte [MB ] = 2 20 Byte = 1 048 576 Byte ~ 10 6 Byte GigaByte [GB ] = 2 30 Byte ~ 10 9 Byte TeraByte [TB ] = 2 40 Byte ~ 10 12 Byte PetaByte [PB ] = 2 50 Byte ~ 10 15 Byte ExaByte [EB ] = 2 60 Byte ~ 10 18 Byte 35

Unità di misura in base due bit 1 cifra binaria memorizza 0 oppure 1 byte 8 bit memorizza un carattere parola da 16 a 64 bit numeri e indirizzi di memoria Kilobyte (KB) 1024 byte circa mezza pagina di testo Megabyte (MB) 1024 KB un libro di 200 pagine Gigabyte (GB) 1024 MB alcuni volumi Terabyte (TB) 1024 GB una biblioteca Petabyte (PB) 1024 TB molte biblioteche 36

Codifica binaria dei caratteri Quanti sono gli oggetti compresi nell insieme? 26 lettere maiuscole + 26 minuscole 52 10 cifre Circa 30 segni d interpunzione Circa 30 caratteri di controllo (EOF, CR, LF, ) circa 120 oggetti complessivi k = log 2 120 = 7 Codice ASCII: utilizza 7 bit e quindi può rappresentare al massimo 2 7 =128 caratteri Con 8 bit (= byte) rappresento 256 caratteri (ASCII esteso) Si stanno diffondendo codici più estesi (e.g. UNICODE) per rappresentare anche i caratteri delle lingue orientali 37

LSB 0000 0001 0010 0011 0100 0101 0110 0111 1010 1011 1100 1101 Codice ASCII a 7 bit MSB 010 spc! # $ % & ( ) * +, -. / 011 0 1 2 3 4 5 6 7 8 9 : ; < = >? 100 @ A B C D E F G H I J K L M N O 101 P Q R S T U V W X Y Z [ \ ] ^ _ 110 ` a b c d e f g h i j k l m n o 111 p q r s t u v w x y z { } ~ del Esempio: il carattere parentesi graffa { ha codice ASCII decimale 123, equivalente alla parola ASCII binaria di 7 bit: 111 1011 (si verifichi che la codifica di questo carattere è esatta). 38

Informazione in formato digitale il risultato? Una stringa di caratteri sarà rappresentata dal computer come una successione di gruppi di 8 bit (8 bit = 1 byte) O G G I P I O V E 01001111 01000111 01000111 01001001 00100000 01010000 01001001 01001111 01010110 01000101 39

Il set di caratteri ISO-Latin-1 ISO-Latin-1 (ISO-8859-1 o ASCII esteso) unica estensione standard di ASCII 1 byte = 8 bit = 2 8 punti di codice = 256 caratteri rappresentati sufficiente per lingue europee occidentali (italiano, francese, ecc.) ASCII Standard Caratteri di controllo 0-32 128-159 40

La famiglia di caratteri ISO-8859 14 set di caratteri standardizzati da ISO (International Standard Organization) Codifica: 1 byte = 256 caratteri rappresentati da ciascun set Soprainsiemi dei caratteri ASCII Standard punti di codice 0-127 (parte comune) ASCII punti di codice 128-159 codici di controllo (non corrispondono a caratteri grafici) punti di codice 160-255 (parte variabile) caratteri aggiuntivi per greco, cirillico, lingue slave, arabo, ebraico, ecc. I set di ISO-8859 sono tutti reciprocamente incompatibili Punto di codice 232 ISO-8859-1 (Latin-1) = è ISO-8859-5 (Cyrillic) = ш ISO-8859 non copre lingue come giapponese, cinese, ecc. 41

La famiglia di caratteri ISO-8859 ISO-Latin-1 42

The Universal Character Set UNICODE (ISO-10646) Standard internazionale che si prefigge di rappresentare qualsiasi tipo di carattere appartenente ai sistemi grafici esistenti Sistemi di scrittura di tutte le lingue europee, asiatiche, africane, ecc., sia antiche che moderne. Sistemi di caratteri basati sui fonemi (p.es. italiano), sulle sillabe (p.es. Thai), su ideogrammi (p.es. Cinese), geroglifici, braille, ecc. Sistemi di simboli tecnici e scientifici (p.es. matematica, logica) Punteggiatura e segni diacritici (p.es. accenti) Risolve i problemi di incompatibilità dei sistemi ISO-8859 estende l insieme dei caratteri supportati permette la realizzazione di documenti multilingui http://www.unicode.org 43

The Universal Character Set UNICODE (ISO-10646) Circa 96.000 caratteri grafici rappresentati (Unicode v. 4.0) ma i punti di codice disponibili sono più di 1 milione (4 byte)!! 44 I primi 65536 caratteri (2 16 ) costituiscono il Basic Multilingual Plane (BMP), primo di 17 piani in cui è diviso UNICODE. Nel BMP, 6500 punti di codice sono riservati per usi privati (loghi, trademarks )

The Universal Character Set UNICODE (ISO-10646) I punti di codice sono rappresentati con U+numero esadecimale, ed hanno un nome standard: A U+0041 = Latin Capital Letter A (decimale 65) ω = U+03C9 = Greek Letter Omega I primi 256 caratteri sono identici al set di caratteri Latin-1, a sua volta un soprainsieme dell' ASCII. 45

UNICODE: composizione dei caratteri Caratteri complessi (p.es. u con umlaut) possono essere rappresentati in due modi: Come elementi precostituiti (codice U+00FC, ü ) Come elementi composti, formati da un carattere di base quale u (U+0075) ed uno o più caratteri che non introducono spaziatura ( non spacing ), che vengono quindi sovrascritti al precedente, in questo caso (U+0308) Problema dell ordinamento alfabetico (come decomporre caratteri complessi) 46

Blocchi di codice I vari alfabeti sono divisi in gruppi detti blocchi di codice (code blocks) Si è tuttavia cercato di non duplicare i caratteri di lingue diverse. Non esiste p.es. una A italiana, una A norvegese. Anche le migliaia di ideogrammi comuni alla scrittura cinese, giapponese e coreana (che discendono tutti da una scrittura comune) sono unificati. 47

The Universal Character Set UNICODE (ISO-10646) 48

Campionamento e quantizzazione Gli elaboratori elettronici hanno natura discreta, ovvero ogni grandezza in gioco può essere rappresentata soltanto da un numero finito di elementi. Per essere elaborati da un calcolatore, segnali intrinsecamente continui quali suoni, immagini, video ecc., devono essere discretizzati (digitalizzati) attraverso operazioni di campionamento e quantizzazione. 49

Campionamento ampiezza segnale continuo ampiezza segnale campionato t tempo tempo (discreto) Il segnale continuo viene campionato ad intervalli di tempo regolari t (t = intervallo di campionamento). Il segnale risultante è un insieme finito di punti equidistanti nel tempo. Tuttavia le ampiezze devono essere ancora approssimate ad intervalli discreti, ovvero quantizzate. Si noti che campionamento e quantizzazione comportano una perdita di informazione. 50

Quantizzazione Ampiezza (discreta e codificata) Codifica a 3 bit 111 110 101 100 011 010 001 000 Tempo (discreto) segnale quantizzato La quantizzazione suddivide l ampiezza in n intervalli uguali che vengono poi codificati in binario. Ogni valore di ampiezza del segnale campionato viene approssimato al più vicino valore discreto di ampiezza. Più valori (e quindi più bit) si utilizzano per suddividere le ampiezze, più il segnale risultante sarà preciso. 51

Le immagini digitali Le immagini digitali non hanno una struttura continua ma sono costituite da un numero finito di componenti monocromatiche (pixel) prodotte dal campionamento dell immagine reale. I pixel assumono un numero finito di tonalità definite dalla quantizzazione dell immagine campionata. 52

Codifica delle immagini L immagine è suddivisa in punti (pixel) e ciascun punto è codificato con un numero che corrisponde A un particolare colore A un particolare tono di grigio nelle immagini b/n In genere si utilizza un numero di colori o di sfumature di grigio che sia potenza di 2 per rappresentare un immagine come sequenza di byte. Deve essere memorizzata anche la dimensione dell immagine e la risoluzione (dpi, dot per inch ) 53

Codifica di immagini Consideriamo un'immagine in bianco e nero, senza ombreggiature o livelli di chiaroscuro Suddividiamo l immagine mediante una griglia formata da righe orizzontali e verticali a distanza costante 54

Codifica di immagini Ogni quadratino derivante da tale suddivisione prende il nome di pixel (picture element) e può essere codificato in binario secondo la seguente convenzione: il simbolo 0 viene utilizzato per la codifica di un pixel corrispondente ad un quadratino bianco (in cui il bianco è predominante) il simbolo 1 viene utilizzato per la codifica di un pixel corrispondente ad un quadratino nero (in cui il nero è predominante) 55

Codifica di immagini Poiché una sequenza di bit è lineare, si deve definire una convenzione per ordinare i pixel della griglia Assumiamo che i pixel siano ordinati dal basso verso l'alto e da sinistra verso destra 0 0 0 1 0 1 1 0 0 0 0 1 1 1 1 0 0 22 23 24 25 26 27 28 0 0 15 16 17 18 19 20 21 0 0 8 9 10 11 12 13 14 0 1 0 0 0 0 0 0 2 3 4 5 6 7 La rappresentazione della figura è data dalla stringa binaria 0000000 0111100 0110000 0100000 56

Codifica di immagini Non sempre il contorno della figura coincide con le linee della griglia: nella codifica si ottiene un approssimazione della figura originaria Se riconvertiamo la stringa 0000000011110001100000100000 in immagine otteniamo 57

Codifica di immagini La rappresentazione dell'immagine - e quindi la sua qualità - sarà tanto più fedele all'originale quanto più aumenterà il numero di pixel; ovviamente se i pixel aumentano in numero, diminuiscono di dimensione. zz 58

Codifica di immagini 59

Codifica di immagini con toni di grigio Le immagini in bianco e nero hanno delle sfumature, o livelli di intensità di grigio Per codificare immagini con sfumature: si fissa un insieme di livelli (toni) di grigio, cui si assegna convenzionalmente una rappresentazione binaria per ogni pixel si stabilisce il livello medio di grigio e si memorizza la codifica corrispondente a tale livello Per memorizzare un pixel non è più sufficiente 1 bit. con 4 bit si possono rappresentare 2 4 =16 livelli di grigio con 8 bit ne possiamo distinguere 2 8 =256, con K bit ne possiamo distinguere 2 K 60

Codifica di immagini a colori Analogamente possono essere codificate le immagini a colori: bisogna definire un insieme di sfumature di colore differenti (es. RGB = Red Green Blue), codificate mediante una opportuna sequenza di bit La rappresentazione di un'immagine mediante la codifica dei pixel viene chiamata codifica bitmap Il numero di byte richiesti dipende dalla risoluzione e dal numero di colori che ogni pixel può assumere Es: per distinguere 256 colori sono necessari 8 bit per la codifica di ciascun pixel la codifica di un'immagine formata da 640 480 pixel richiederà 2457600 bit (307200 byte) I monitor tipici utilizzano risoluzione: 640 480, 1024 768, 1280 1024 numero di colori per pixel: da 256 fino a 16 milioni Tecniche di compressione consentono di ridurre notevolmente lo spazio occupato dalle immagini 61

Codifica di filmati Un filmato non è altro che una successione di fotogrammi (frame) accompagnata da una colonna sonora! Immagini in movimento sono memorizzate come sequenze di fotogrammi In genere si tratta di sequenze compresse di immagini ad esempio si possono registrare solo le variazioni tra un fotogramma e l altro Esistono vari formati (comprendente il sonoro): mpeg (il più usato) avi (microsoft) quicktime (apple) mov E possibile ritoccare i singoli fotogrammi 62

Codifica di suoni L onda sonora viene misurata (campionata) ad intervalli regolari Minore è l intervallo di campionamento e maggiore è la qualità del suono CD musicali: 44000 campionamenti al secondo, 16 bit per campione. Alcuni formati:.mov,.wav,.mpeg,.avi.midi usato per l elaborazione della musica al PC 63

La convergenza e i suoi strumenti 64

La convergenza e i suoi strumenti con la convergenza al digitale: tendono a unificarsi i supporti (memorie di massa, rete) tendono a unificarsi le tecnologie di produzione tendono a unificarsi le tecnologie di riproduzione tendono a unificarsi i mercati i dati passano con facilità da un dispositivo all altro 65