La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Codifica dellInformazione. Problema Abbiamo dellinformazione (testi, numeri, immagini, ecc.) che vogliamo rappresentare in un calcolatore. Vincolo Per.

Presentazioni simili


Presentazione sul tema: "Codifica dellInformazione. Problema Abbiamo dellinformazione (testi, numeri, immagini, ecc.) che vogliamo rappresentare in un calcolatore. Vincolo Per."— Transcript della presentazione:

1 Codifica dellInformazione

2 Problema Abbiamo dellinformazione (testi, numeri, immagini, ecc.) che vogliamo rappresentare in un calcolatore. Vincolo Per motivi tecnologici un calcolatore lavora solo con due valori 0 e 1 (spento / acceso).

3 codifica informazione rappresentazione decodifica Nel caso dei sistemi di calcolo è stata introdotta la rappresentazione digitale bit (binary digit - cifra binaria): 0 o 1 Per poter rappresentare un numero maggiore di informazioni si usano sequenze di bit (8 bit=1 Byte) Esempio:

4 Codifica dell informazione Mondo esterno informazione rappresentazione binaria dei dati codifica decodifica Computer: memorizzazione, Elaborazione dei dati

5 Il concetto di informazione Configurazione 1Configurazione 2 un foglio cosparso di macchie

6 Non esiste informazione senza supporto Linformazione è portata da, o trasmessa su, omemorizzata in, o contenuta in qualcosa; questo qualcosa però non è linformazione stessa. Ogni supporto ha le sue caratteristiche in quanto mezzo su cui può essere scritta dellinformazione –alcuni supporti sono particolarmente adatti alla trasmissione di informazione, ma non alla sua memorizzazione (aria), –per altri supporti vale il viceversa (compact disc)

7 Informazione e supporti (1) La stessa informazione può essere scritta su supporti differenti

8 Informazione e supporto (2) Distinguere informazione e supporto fisico è distinguere tra entità logiche ed entità fisiche: –linformazione richiede un supporto fisico, ma non coincide con esso; –linformazione è unentità non interpretabile in termini di materia energia. Essa è sottoposta alle leggi della fisica solo perché basata su un supporto fisico.

9 Configurazioni e codici Per interpretare le differenti configurazioni del supporto in termini di informazione è necessario conoscere il codice (cioè le regole di conversione) che a ogni configurazione ammessa del supporto associa unentità di informazione. La definizione di un codice comporta che siano identificati in modo non ambiguo linsieme delle possibili configurazioni del supporto e linsieme delle possibili entità di informazione a cui ci si vuole riferire. Variando il codice è possibile riferirsi a entità di informazione differenti utilizzando uno stesso supporto fisico. Es. codifica di caratteri alfanumerici o codifica di unimmagine su un cd

10 Esempio: il telegrafo Supporto fisico: conduttore in cui transita corrente continua Entità di informazione: punti e linee, che rappresentano le lettere dellalfabeto Codice = regola che specifica la corrispondenza: –transita per 1 s punto –transita per 2 s linea –non transita per 1 s separa punti e linee di una stessa lettera –non transita per 2 s separa due lettere cè per 1 s, non cè per 1 s, cè per 2 s = punto linea. Codice Morse = relazione tra lettere e sequenze di punti linee: –punto linea lettera A –linea punto punto punto lettera B –linea punto linea punto lettera C –ecc.

11 Codifica dati e istruzioni Per scrivere un programma è necessario rappresentare istruzioni e dati in un formato tale che lesecutore automatico (computer) sia capace di –memorizzare istruzioni e dati; –manipolare istruzioni e dati.

12 Rappresentazione binaria Lentità minima di informazione che possiamo trovare allinterno di un elaboratore prende il nome di bit –Binary digit – cifra binaria –Un bit può assumere due valori (0 e 1)

13 bit, Byte, KiloByte, MegaByte, … bit = solo due stati, 0 oppure 1. Byte = 8 bit, quindi 2 8 = 256 stati o combinazioni di 8 bit KiloByte [KB] = 2 10 Byte = 1024 Byte ~ 10 3 Byte MegaByte [MB] = 2 20 Byte = Byte ~ 10 6 Byte GigaByte [GB] = 2 30 Byte ~ 10 9 Byte TeraByte [TB] = 2 40 Byte ~ Byte

14 Perché la rappresentazione binaria? I due simboli (0 e 1) possono essere rappresentate da: –Due stati di polarizzazione di una sostanza magnetizzabile –Due stati di carica elettrica di una sostanza –passaggio/non passaggio di corrente attraverso un cavo conduttore o un circuito integrato –passaggio/non passaggio di luce attraverso un cavo in fibra ottica

15 Codifica dellinformazione Per poter rappresentare un numero maggiore di informazione si usano sequenze di bit Per esempio, per rappresentare quattro informazioni diverse possiamo utilizzare due bit che ci permettono di ottenere quattro configurazione distinte Il processo secondo cui si fa corrispondere ad uninformazione una sequenze di bit prende il nome codifica dellinformazione

16 Codifica binaria Esempio: un esame può avere quattro possibili esiti: ottimo, discreto, sufficiente, insufficiente Codifico (due bit): –ottimo con00 –discreto con01 –sufficiente con10 –insufficiente con11

17 Codifica binaria Esempio: otto colori: nero, rosso, blu, giallo, verde, viola, grigio, arancione Codifico (tre bit): –nero con000 –rosso con001 –blu con010 –giallo con011 –verde con100 –viola con101 –grigio con110 –arancione con111

18 Il processo secondo cui si fa corrispondere ad una informazione una configurazione di bit Con 2 bit si codificano 4 informazioni (2 2 ) Con 3 bit si codificano 8 informazioni (2 3 ) ……… Con N bit si codificano 2 N informazioni Codifica binaria

19 Codifica dellinformazione Problema inverso: quanti bit ci vogliono per rappresentare M informazioni diverse? 2 N >= M Esempio: dovendo rappresentare informazioni diverse Quanti bit dobbiamo avere a disposizione ?

20 La rappresentazione interna delle informazioni Codifica dell'Informazione L'architettura di un calcolatore impone delle regole di conversione tra le rappresentazioni "umane" delle informazioni e quella binaria. Le informazioni che l'uomo gestisce sono essenzialmente di due tipi: numeriche alfanumeriche.

21 ALFANUMERICANUMERICA Non soggetta a calcoliSoggetta a calcoli Codifica tabellareSistemi di numerazione ASCII, UnicodeBINARIO, Esadecimale, Ottale INFORMAZIONE

22 Codifica Numerica Un sistema numerico è determinato da: Un insieme limitato di simboli (cifre) Le regole che devono essere applicate per costruire i numeri Non Posizionali: il valore delle cifre è indipendente dalla loro posizione (es. IV nella numerazione romana vale 4 non 15); Posizionali: ad ogni posizione della cifra all'interno della rappresentazione è associato un peso. Di particolare importanza sono i sistemi numerici di tipo posizionale e per questo motivo saranno gli unici che considereremo.

23 Codifica Numerica di Tipo Posizionale Nei sistemi numerici posizionali il numero (non negativo) è rappresentato da una sequenza di n cifre: Per esempio nel sistema numerico decimale, le cifre sono 10: 0,1,2….9 Ogni cifra ha un valore (peso) diverso a seconda della posizione Ad esempio nel sistema numerico decimale, la cifra di posizione 3 pesa 10 3 Il valore numerico si ottiene sommando i prodotti delle cifre per il rispettivo peso. Ad esempio nel sistema decimale: = 6 x x x x x 10 0

24 I numeri da rappresentare utilizzati nei calcolatori sono: numeri interi positivi e relativi (con segno) numeri reali (floating point) Codifica Numerica di Tipo Posizionale

25 Esempio: si converta in binario il numero intero positivo 8 Il numero binario è: Codifica Numeri Interi Positivi Il numero binario è: MSBLSB 8 40 bit meno significativo (LSB) bit più significativo (MSB)

26 Esempio: si converta in binario il numero intero positivo Il numero binario è: Codifica Numeri Interi Positivi 35541: :20 1:20 01

27 Esempio: si voglia convertire in decimale il numero binario: * * * * * * *2 9 +0*2 8 +1*2 7 +1*2 6 +0*2 5 +1*2 4 +0*2 3 +1*2 2 +0*2 1 +1*2 0 = = Codifica Numeri Interi Positivi

28 Molto spesso per risparmiare spazio, invece della notazione binaria viene usata quella esadecimale (ossia su base 16). Codifica in base 16 DecimaleBinarioEsadecimale A B C D E F La conversione da binario a esadecimale è immediata: occorre semplicemente dividere il numero binario (formato sempre da multipli interi di 8 bit) in gruppi di 4 bit, partendo dal bit meno significativo. Ad ogni gruppo viene sostituita la corrispondente cifra esadecimale, ricavabile dalla tabella a fianco

29 Esempio: si rappresenti il numero binario in esadecimale. Il precedente numero viene decomposto nei seguenti gruppi da 4 bit, partendo dal bit meno significativo: 0101, che corrisponde nella tabella a , che corrisponde nella tabella a D 1010, che corrisponde nella tabella a A 1000, che corrisponde nella tabella a 8 Dunque il numero in esadecimale e' 8AD La conversione esadecimale binario avviene in modo analogo eseguendo la conversione in gruppi di 4 bit alla volta. Codifica in base 16

30 Conversione Decimale Esadecimale Esempio: si rappresenti il numero 345 in esadecimale 345:16 Resto 9 21:16 Resto 5 1:16 Resto 1 Risultato:

31

32

33 Codifica Alfanumerica Linsieme dei caratteri alfanumerici: lettere dell'alfabeto e dalle dieci cifre decimali. A questi vanno aggiunti diversi altri simboli come lo spazio, i segni di interpunzione, i simboli per indicare il passaggio alla riga o alla pagina successiva, ecc. Questo insieme di caratteri alfanumerici può essere facilmente rappresentato attribuendo in maniera univoca a ciascuno dei suoi elementi un numero intero (codice). Osserviamo che il numero delle lettere dell'alfabeto inglese sono 26, per un totale di 52, considerando anche quelle maiuscole. Aggiungiamo le dieci cifre numeriche, una quarantina di simboli extra, arriviamo ad un totale di un centinaio di simboli da rappresentare. Tale numero suggerisce che soli 7 bit sono sufficienti per rappresentare l'insieme dei caratteri alfanumerici E' necessario che la rappresentazione dei simboli sia la stessa in tutto il mondo, pena la totale incomunicabilità. E', dunque, necessario l'adozione di una comune rappresentazione.

34 Codifica Alfanumerica Codifica ASCII 2.Codici Alfanumerici L'evoluzione dei calcolatori li ha portati a diventare, oltre che elaboratori di numeri, anche elaboratori di altri tipi di informazione, prima fra tutti quella testuale. I simboli che vengono usati per rappresentare testi sono, come noto, i caratteri alfanumerici, cioè l'insieme costituito dalle lettere dell'alfabeto e dalle dieci cifre decimali. A questi vanno aggiunti diversi altri simboli come lo spazio, i segni di interpunzione, i simboli per indicare il passaggio alla riga o alla pagina successiva, ecc. Questo insieme di caratteri alfanumerici può essere facilmente rappresentato attribuendo in maniera univoca a ciascuno dei suoi elementi un numero intero (codice). Osserviamo che il numero delle lettere dell'alfabeto inglese sono 26, per un totale di 52, considerando anche quelle maiuscole. Se ad esse aggiungiamo le dieci cifre numeriche, una quarantina di simboli extra, arriviamo ad un totale di un centinaio di simboli da rappresentare. Tale numero suggerisce che soli 7 bit sono sufficienti per rappresentare l'insieme dei caratteri alfanumerici (7 bit permettono di rappresentare 128 simboli diversi). E' chiaro che è necessario che la rappresentazione dei simboli sia la stessa in tutto il mondo, pena la totale incomunicabilità. E', dunque, necessario l'adozione di una comune rappresentazione. Attualmente esistono due diverse rappresentazioni: codifica ASCII e relative estensioni e codifica Unicode. La codifica ASCII, prende il nome da American Standard Code for Information Interchange. Tale codifica si basa sull'utilizzo di 7 bit per un totale di 128 simboli rappresentabili. Da notare che i caratteri dell'alfabeto e le cifre numeriche successive hanno codice anch'esso successivo (ad esempio a ha codice 97, b codice 98, c codice 99, il numero 0 ha codice 48, il numero 1 codice 49, etc.) Esempio: tra le più utilizzate codifiche ASCII (entro i primi 128 simboli) vi sono: ~ (tilde) codice 126 { codice 123 } codice Codifiche derivate dalla codifica ASCII Esistono numerose estensioni della codifica ASCII. Tali estensioni derivano dalla necessità di codificare simboli legati a particolari lingue, e dal fatto che operando su 8 bit, la codifica ASCII consente l'utilizzo dell'ottavo bit, lasciando gli altri 7 inalterati. Tutte le estensioni della codifica ASCII non modificano tale codifica ma aggiungono semplicemente altri 128 simboli. Tra le estensioni più diffuse vi è la ISO Latin Codifica Unicode La codifica Unicode supera i limiti della codifica ASCII e relativi derivati, in quanto estende il numero di simboli codificabili. Attualmente sono più di simboli codificati con lo standard Uncode. Essi sono divisi in: Script Moderni: Latino, Greco, Giapponese, Cinese, Koreano, etc. Script Antichi: Sumero, Egiziano, etc. Segni Speciali La codifica Unicode è in ogni caso compatibile con la codifica ASCII, e richiede ovviamente più di un byte (da 1 a 4) per la codifica.

35

36 La codifica binaria di un testo avviene dunque seguendo lo schema seguente:

37 Codifiche Alfanumeriche derivate dalla Codifica ASCII Esistono numerose estensioni della codifica ASCII. Tutte le estensioni della codifica ASCII non modificano tale codifica ma aggiungono altri 128 simboli (Ascii esteso con 256 simboli). La codifica Unicode supera i limiti della codifica ASCII e relativi derivati, in quanto estende il numero di simboli codificabili. Originariamente si basava su una codifica a 16 bit che dava la possibilità di codificare 2 16 cioè caratteri e questo bastava per i caratteri impiegati nelle principali lingue del mondo Attualmente sono più di un milione di simboli codificati con lo standard Unicode. Essi sono divisi in: Script Moderni: Latino, Greco, Giapponese, Cinese, Koreano, etc. Script Antichi: Sumero, Egiziano, etc. Segni Speciali La codifica Unicode è in ogni caso compatibile con la codifica ASCII.

38 La rappresentazione delle informazioni ALFANUMERICHE Codifica tabellare: ad ogni carattere (lettera, cifra, segno speciale) corrisponde una particolare sequenza di bit e viceversa. Codice ASCII: è la codifica tabellare standard in ambiente P.C. È un codice a 8 bit, cioè utilizza una sequenza di 8 bit (1 byte) per rappresentare un carattere. Caratteri (Simboli) rappresentabili: corrisponde al numero di combinazioni (sequenze) di bit ottenibili. Per il codice ASCII sono 2 8= 256, pari ai numeri binari ottenibili con 8 bit (da a ).

39 bit, Byte, KiloByte, MegaByte, … bit = solo due stati, 0 oppure 1. Byte = 8 bit, quindi 2 8 = 256 stati KiloByte [KB] = 2 10 Byte = 1024 Byte ~ 10 3 Byte MegaByte [MB] = 2 20 Byte = Byte ~ 10 6 Byte GigaByte [GB] = 2 30 Byte ~ 10 9 Byte TeraByte [TB] = 2 40 Byte ~ Byte PetaByte [PB] = 2 50 Byte ~ Byte

40 Glossario 1.Base di un s.d.n. = n° di cifre utilizzabili e valore le cui potenze successive determinano il valore posizionale della cifra 2.Cifra = simbolo grafico usato da solo o in sequenza per la rappresentazione dei numeri 3.Sistema di Numerazione = insieme di regole e simboli per la rappresentazione e luso dei numeri 4.Sistema di Numerazione Binario = S.d.n. posizionale in base 2 ( cifre 0 1 )

41 Glossario 5. Sistema di Numerazione Decimale = S.d.n. posizionale in base 10 ( cifre ) 6. Sistema di Numerazione Esadecimale = S.d.n. posizionale in base 16 ( cifre A B C D E F ) 7. Sistema di Numerazione Posizionale = S.d.n. in cui il valore della cifra (peso) dipende dalla posizione occupata nel numero

42 Fine

43 Codifica Numeri Interi Relativi (con segno) I numeri interi relativi vengono rappresentati in modo analogo a quanto fatto per i numeri interi positivi, riservando un bit (MSB ) per rappresentare il segno (0 se positivo e 1 se negativo). Per la rappresentazione dei numeri negativi viene utilizzato un tipo di codifica detto del complemento a due.

44 Codifica Numeri Interi Relativi con Complemento a 2 Cosa è il complemento a 2 di un numero binario ? Dato un numero binario di N bit, il complemento a 2 di tale numero si ottiene tramite il seguente algoritmo: Si lasciano inalterati tutti i bit fino al primo 1 tutti i bit successivi al primo 1, vengono invertiti (0 diviene 1, e viceversa) Esempio: si determini il complemento a 2 del numero Tutti i bit 0 a partire dal bit meno significativo sono lasciati inalterati e così anche il primo bit 1. Tutti gli altri bit vengono invertiti, ottenendo:

45 Codifica Numeri Interi Relativi con Complemento a 2 Esempio: si voglia convertire il numero 105 con 8 bit Essendo il numero positivo: Segno 0 Codifica di 105 su 7 bits: Codifica: Esempio: si voglia convertire il numero -105 con 8 bit Essendo il numero negativo, si considera il numero binario corrispondente al valore assoluto (105) su 8 bit, ossia di e poi si costruisce il il complemento a 2 quindi


Scaricare ppt "Codifica dellInformazione. Problema Abbiamo dellinformazione (testi, numeri, immagini, ecc.) che vogliamo rappresentare in un calcolatore. Vincolo Per."

Presentazioni simili


Annunci Google