La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Capitolo 2 L’informazione e la sua codifica

Presentazioni simili


Presentazione sul tema: "Capitolo 2 L’informazione e la sua codifica"— Transcript della presentazione:

1 Capitolo 2 L’informazione e la sua codifica
24/04/2017 Capitolo 2 L’informazione e la sua codifica Informatica e Informazione La codifica dell’informazione Analogico vs digitale Introduzione ai sistemi informatici

2 Informazione e Informatica
24/04/2017 Informazione e Informatica Introduzione ai sistemi informatici

3 Informatica e telecomunicazione
24/04/2017 Informatica e telecomunicazione Cos’è l’informatica? lo studio sistematico degli algoritmi che descrivono e trasformano l’informazione: la loro teoria, analisi, progetto, efficienza, realizzazione e applicazione [ACM – Association for Computing Machinery] la scienza della rappresentazione e dell’elaborazione dell’informazione Cos’è la telecomunicazione? la trasmissione rapida a distanza dell’informazione Attenzione: Non si parla di tecnologia dei calcolatori ! Si attribuisce ruolo centrale al concetto di informazione ! Introduzione ai sistemi informatici

4 Il concetto di informazione
24/04/2017 Il concetto di informazione Configurazione 1 Configurazione 2 un foglio cosparso di macchie Introduzione ai sistemi informatici

5 Informazione e supporto
24/04/2017 Informazione e supporto L’informazione è “portata da”, o “trasmessa su”, o “memorizzata in”, o “contenuta in” qualcosa; questo “qualcosa” però non è l’informazione stessa. Ogni supporto ha le sue caratteristiche in quanto mezzo su cui può essere scritta dell’informazione. Introduzione ai sistemi informatici

6 Informazione e supporti (1)
24/04/2017 Informazione e supporti (1) La stessa informazione può essere scritta su supporti differenti. 10 9 11 8 6 7 10 Introduzione ai sistemi informatici

7 Informazione e supporti (2)
24/04/2017 Informazione e supporti (2) Lo stesso supporto può portare informazioni differenti. italiano tariffa, prezzo, … inglese to make, to do, to build, … fare italiano asino, cavalletto, somaro, … spagnolo mantequilla, manteca, … burro Introduzione ai sistemi informatici

8 Informazione e supporto (3)
24/04/2017 Informazione e supporto (3) 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 è un’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. Introduzione ai sistemi informatici

9 24/04/2017 Quali caratteristiche deve avere un sistema fisico per supportare informazioni? 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. Introduzione ai sistemi informatici

10 Supporto fisico: 1a condizione
24/04/2017 Supporto fisico: 1a condizione Deve consentire di potere identificare delle differenze Es: voglio rappresentare 2 alternative Cosa rappresenta ciascuna configurazione? Introduzione ai sistemi informatici

11 Configurazioni e codici
24/04/2017 Configurazioni e codici A ogni configurazione del supporto deve essere associata un’entità di informazione: Prima Configurazione = interruttore “ON” = “Divina Commedia”; Seconda Configurazione = interruttore “OFF” = “I Promessi Sposi”. Per interpretare le differenti configurazioni del supporto in termini di informazione è necessario conoscere il codice (cioè la regola) che a ogni configurazione ammessa del supporto associa un’entità di informazione. La definizione di un codice comporta che siano identificati in modo non ambiguo l’insieme delle possibili configurazioni del supporto e l’insieme 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. Introduzione ai sistemi informatici

12 Supporto fisico: 2a condizione
24/04/2017 Supporto fisico: 2a condizione Deve essere condivisa una regola per attribuire un significato a ciascuna configurazione Configurazione 1 Entità di informazione 1 Configurazione 2 Entità di informazione 2 CODICE Introduzione ai sistemi informatici

13 Definire un codice Identificare Associare gli elementi dei 2 insiemi
24/04/2017 Definire un codice Identificare { Configurazioni } { Entità informazione } Associare gli elementi dei 2 insiemi Introduzione ai sistemi informatici

14 Livelli di informazione: il telegrafo
24/04/2017 Livelli di informazione: il telegrafo Supporto fisico: conduttore in cui transita corrente continua Entità di informazione: “punti” e “linee”, che rappresentano le lettere dell’alfabeto Codice = regola che specifica la corrispondenza: passa corrente per 1 s  punto passa corrente per 2 s  linea non passa corrente per 1 s  separazione tra punti e linee della stessa lettera non passa corrente per 2 s  separazione tra due lettere “passa corrente per 1 s, non passa per 1 s, passa 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. Abbiamo associato simboli ad altri simboli!! Introduzione ai sistemi informatici

15 Messaggi vs configurazione del supporto
24/04/2017 Messaggi vs configurazione del supporto Configurazione del supporto fisico (livello fisico, LF): passa corrente per 2s, non passa per 1s, passa per 1s, non passa per 2s, passa per 2s, non passa per 1s, passa per 2s, non passa per 1s, passa per 2s messaggio, al livello logico 1 (LL1): linea punto, separazione di lettera, linea linea linea messaggio, al livello Logico 2 (LL2): “N” “O” messaggio, al livello Logico 3 (LL3): “NO”, con il significato (per esempio) di “incontro non confermato” Le relazioni tra questi livelli definiscono ognuna un codice per interpretare il significato delle entità che compaiono al livello precedente in termini delle entità del livello successivo: sono relazioni di significazione. Introduzione ai sistemi informatici

16 Tre diversi livelli di informazione
24/04/2017 Tre diversi livelli di informazione Informazione sintattica Informazione semantica Informazione pragmatica Informazione sintattica ci si chiede se un certo supporto fisico è in grado, in base alle configurazioni che può assumere, di costituire la base su cui un certo messaggio può essere scritto; ci si pone un problema di relazioni tra segni, cioè tra configurazioni del supporto fisico. Informazione semantica ci si chiede quale significato sia da attribuire a una certa configurazione del supporto fisico; ci si pone un problema di relazioni tra segni e significati. Informazione pragmatica ci si chiede quale valore sia da attribuire a una certa configurazione del supporto fisico; ci si pone un problema di relazioni tra segni (e significati) e valori. Introduzione ai sistemi informatici

17 Teoria dell’informazione
24/04/2017 Teoria dell’informazione Quando si parla di “teoria dell’informazione” si fa riferimento al solo livello “sintattico” Ambito di applicazione: caratterizzare le condizioni per la trasmissione di segnali in termini di adeguatezza del supporto adottato per la trasmissione accuratezza della trasmissione stessa. Quali problemi si pone: un certo supporto può essere utilizzato per la memorizzazione di una certa quantità di informazione? con quale velocità una certa quantità di informazione può essere trasferita a distanza mediante un certo supporto? con quale grado di accuratezza un certo messaggio è stato trasmesso? Introduzione ai sistemi informatici

18 Informazione e incertezza
24/04/2017 Informazione e incertezza La presenza di informazione è condizionata dal fatto che il supporto sia in grado di assumere diverse configurazioni. Se la nostra ignoranza, o più formalmente la nostra incertezza, circa l’effettiva configurazione del supporto viene ridotta dall’accesso al supporto, allora sembra del tutto ragionevole assumere che si possa affermare che tale atto ci ha portato dell’informazione. Se fossimo in grado di misurare il grado di incertezza in cui ci trovavamo prima della lettura e quello successivo a essa, la quantità di informazione portata dalla configurazione che abbiamo letto sul supporto potrebbe essere definita proprio dalla differenza tra tali gradi di incertezza. Introduzione ai sistemi informatici

19 La codifica dell’informazione
24/04/2017 La codifica dell’informazione Introduzione ai sistemi informatici

20 Codifica dati e istruzioni
24/04/2017 Codifica dati e istruzioni Algoritmo descrizione della soluzione di problema scritta in modo da poter essere eseguita da un esecutore (eventualmente diverso dall’autore dell’algoritmo) sequenza di istruzioni che operano su dati. Programma algoritmo scritto in modo da poter essere eseguito da un calcolatore (esecutore automatico) Per scrivere un programma è necessario rappresentare istruzioni e dati in un formato tale che l’esecutore automatico sia capace di memorizzare e manipolare. Introduzione ai sistemi informatici

21 Codifica dati e istruzioni
24/04/2017 Codifica dati e istruzioni Alfabeto dei simboli cifre “0”, “1”, …, “9”, separatore decimale (“,”), separatore delle migliaia (“.”) e segni positivo (“+”) o negativo (“–”). Regole di composizione (sintassi), che definiscono le successioni “ben formate” “1.234,5” è la rappresentazione di un numero; “1,23,45” non lo è. Codice (semantica) “1.234,5” = 1× × × × ×10–1 “1,23,45” = ?? Lo stesso alfabeto può essere utilizzato con codici diversi: “123,456” = 1× × × ×10–1 + 5×10–2 + 6×10–3, [IT] “123,456” = 1× × × × × ×100, [UK] Introduzione ai sistemi informatici

22 24/04/2017 Codifica Binaria Alfabeto binario: usiamo dispositivi con solo due stati Problema: assegnare un codice univoco a tutti gli oggetti compresi in un insieme predefinito (e.g. studenti) Quanti oggetti posso codificare con k bit: 1 bit  2 stati (0, 1)  2 oggetti (e.g. Vero/Falso) 2 bit  4 stati (00, 01, 10, 11)  4 oggetti 3 bit  8 stati (000, 001, …, 111)  8 oggetti k bit  2k stati  2k oggetti Quanti bit mi servono per codificare N oggetti: N ≤ 2k  k ≥ log2N  k = log2N (intero superiore) Attenzione: ipotesi implicita che i codici abbiano tutti la stessa lunghezza Introduzione ai sistemi informatici

23 Esempio di codifica binaria
24/04/2017 Esempio di codifica binaria Problema: assegnare un codice binario univoco a tutti i giorni della settimana Giorni della settimana: N = 7  k ≥ log27  k = 3 Con 3 bit possiamo ottenere 8 diverse configurazioni: Ne servono 7, quali utilizziamo? Quale configurazione associamo a quale giorno? Attenzione: ipotesi che i codici abbiano tutti la stessa lunghezza Introduzione ai sistemi informatici

24 I giorni della settimana in binario (1)
24/04/2017 I giorni della settimana in binario (1) 1 bit 2 “gruppi” 2 bit 4 “gruppi” 3 bit 8 “gruppi” Introduzione ai sistemi informatici

25 I giorni della settimana in binario (2)
24/04/2017 I giorni della settimana in binario (2) 1 bit 2 “gruppi” 2 bit 4 “gruppi” 3 bit 8 “gruppi” Introduzione ai sistemi informatici

26 Codifica binaria dei caratteri
24/04/2017 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 = log2120 = 7 Codice ASCII: utilizza 7 bit e quindi può rappresentare al massimo 27=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 Introduzione ai sistemi informatici

27 24/04/2017 ASCII su 7 bit 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 010 sp ! " # $ % & ' ( ) * + , - . / 011 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 j k l m n o 111 p q r s t u v w x z { | } ~ canc Introduzione ai sistemi informatici

28 bit, Byte, KiloByte, MegaByte, …
24/04/2017 bit, Byte, KiloByte, MegaByte, … bit = solo due stati, “0” oppure “1”. Byte = 8 bit, quindi 28 = 256 stati KiloByte [KB] = 210 Byte = 1024 Byte ~ 103 Byte MegaByte [MB] = 220 Byte = 1'048'576 Byte ~ 106 Byte GigaByte [GB] = 230 Byte ~ 109 Byte TeraByte [TB] = 240 Byte ~ 1012 Byte PetaByte [PB] = 250 Byte ~ 1015 Byte ExaByte [EB] = 260 Byte ~ 1018 Byte Introduzione ai sistemi informatici

29 Lo standard IEC per i prefissi binari
24/04/2017 Lo standard IEC per i prefissi binari Grandezza Nome Simbolo Dimensione SI Diff. % Kilo binario Kibi Ki 210 1'024 103 2.40% Mega binario Mebi Mi (210)2 1'048'576 (103)2 4.86% Giga binario Gibi Gi (210)3 1'073'741'824 (103)3 7.37% Tera binario Tebi Ti (210)4 1'099'511'627'776 (103)4 9.95% Peta binario Pebi Pi (210)5 1'125'899'906'842'624 (103)5 12.59% Exa binario Exbi Ei (210)6 1'152'921'504'606'846'976 (103)6 15.29% Zetta binario Zebi Zi (210)7 1'180'591'620'717'411'303'424 (103)7 18.06% Yotta binario Yobi Yi (210)8 1'208'925'819'614'629'174'706'176 (103)8 20.89% Usando questi prefissi si può risolvere l’ambiguità capacità di un disco fisso: 120 GB = 111.76 GiB, capacità di un floppy: MiB = 1.475 MB Introduzione ai sistemi informatici

30 La codifica delle istruzioni
24/04/2017 La codifica delle istruzioni Si segue lo schema presentato per i caratteri alfanumerici: quali e quante sono le istruzioni da codificare? qual è la lunghezza delle successioni di bit da utilizzare ? qual è la corrispondenza tra istruzioni e successioni di bit ? Introduzione ai sistemi informatici

31 Oltre al codice operativo
24/04/2017 Oltre al codice operativo … è necessario far riferimento ai dati necessari per completare l’esecuzione dell’istruzione, e.g. addizione: è necessario che sia specificato (anche implicitamente) dove leggere i due operandi da sommare e dove scrivere il risultato; il numero dei dati da specificare è variabile, in funzione delle istruzioni. Introduzione ai sistemi informatici

32 Numeri naturali Sistema di numerazione posizionale in base b
24/04/2017 Numeri naturali Sistema di numerazione posizionale in base b ckck–1…c0 rappresenta ck×bk + ck–1×bk–1 + … + c0×b0 b=10  1101dieci indica 1× × ×10 + 1×100 Conversione binario  decimale basta scrivere il numero secondo la notazione posizionale utilizzando già il sistema decimale b=2  1101due indica 1×23 + 1×22 + 0×2 + 1×20 = 13dieci Conversione decimale  binario Si potrebbe utilizzare lo stesso metodo indicato sopra, ma è molto complesso b=10  345dieci indica 11× × ×10100 Introduzione ai sistemi informatici

33 Conversione binario  decimale
24/04/2017 Conversione binario  decimale Introduzione ai sistemi informatici

34 Conversione decimale  binario
24/04/2017 Conversione decimale  binario Introduzione ai sistemi informatici

35 Conversione decimale  binario
24/04/2017 Conversione decimale  binario Sistema di numerazione posizionale in base B che, in questo contesto si può ipotizzare diversa da dieci cn–1cn–2…c1c0 = cn–1×Bn–1 + cn–2×Bn–2 + … + c1×B1 + c0×B0 cn–1cn–2…c1c0 = cn–1×Bn–1 + cn–2×Bn–2 + … + c1×B + c (infatti B1 = B e B0 = 1) Dividendo il numero per il valore della base, il risultato che si ottiene è: (cn–1×Bn–1 + cn–2×Bn–2 + … + c1×B + c0)/B = = cn–1×Bn–2 + cn–2×Bn–3 + … + c1 + c0/B che può essere scomposto in modo da evidenziare quoziente e resto: quoziente = cn–1×Bn–2 + cn–2×Bn–3 + … + c1 resto = c0 Il resto della divisione corrisponde all’ultima cifra della rappresentazione in base B del numero, ma il suo valore è indipendente dalla base che si utilizza per effettuare i conti. Applicando lo stesso procedimento al quoziente si ottiene la penultima cifra della rappresentazione in base B Ripetendo la procedura è possibile ottenere tutte le altre cifre. Introduzione ai sistemi informatici

36 Conversione decimale  binario
24/04/2017 Conversione decimale  binario (cifra binaria meno significativa) 573dieci : 2dieci  quoziente 286dieci resto 1dieci 286dieci : 2dieci  quoziente 143dieci resto 0dieci 143dieci : 2dieci  quoziente 71dieci resto 1dieci 71dieci : 2dieci  quoziente 35dieci resto 1dieci 35dieci : 2dieci  quoziente 17dieci resto 1dieci 17dieci : 2dieci  quoziente 8dieci resto 1dieci 8dieci : 2dieci  quoziente 4dieci resto 0dieci 4dieci : 2dieci  quoziente 2dieci resto 0dieci 2dieci : 2dieci  quoziente 1dieci resto 0dieci 1dieci : 2dieci  quoziente 0dieci resto 1dieci 1 000 111 101due = 573dieci (cifra binaria più significativa) Introduzione ai sistemi informatici

37 Conversione decimale  binario
24/04/2017 Conversione decimale  binario Si calcolano i resti delle divisioni per due 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 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 Introduzione ai sistemi informatici

38 Operazioni binarie fondamentali
24/04/2017 Operazioni binarie fondamentali Operazioni fondamentali: operazioni elementari sui bit. Sono definite le operazioni aritmetiche più le operazioni logiche (AND, OR, NOT). Le operazioni possono essere descritte in forma tabellare (esempi: +, x, AND, OR) Introduzione ai sistemi informatici

39 Numeri binari: operazioni
24/04/2017 Numeri binari: operazioni Operazioni di somma di numeri binari naturali. Con gli 8 bit utilizzati negli esempi qui riportati si possono rappresentare i numeri naturali fino a 255dieci. Operazioni che producono un risultato maggiore provocano il superamento della capacità di rappresentazione (indicato in gergo dal termine inglese overflow). Introduzione ai sistemi informatici

40 Numeri binari: operazioni
24/04/2017 Numeri binari: operazioni Operazioni di moltiplicazione dei numeri binari. Facilitate dal fatto che le moltiplicazioni per una cifra non richiedono calcoli (nx0=0, nx1=n) Le moltiplicazioni a più cifre si effettuano per somme successive (algoritmo manuale) Introduzione ai sistemi informatici

41 Numeri naturali binari nei calcolatori
24/04/2017 Numeri naturali binari nei calcolatori Per la codifica dei numeri naturali (interi positivi) si utilizzano abitualmente successioni di 32 bit (4 byte) con cui si possono rappresentare i numeri compresi tra 0 e 232–1 = 4'294'967'295 ≈ 4×109. Aumentando la lunghezza delle successioni il massimo numero rappresentabile cresce esponenzialmente: passando da 32 a 64 bit il massimo numero rappresentabile diventa 264–1 ≈ 16×1018 = 1.6×1019. A causa del minor numero di simboli dell’alfabeto binario rispetto a quello decimale, un numero codificato in notazione binaria richiede più cifre rispetto a quelle impiegate in notazione decimale. Introduzione ai sistemi informatici

42 24/04/2017 Ottali ed esadecimali Utili per rappresentare sinteticamente i valori binari Ottali (base b = 8) Alfabeto ottale: cifre comprese tra 0 e 7 354otto = 3×82 + 5×81 + 4×80 = = 236dieci 1461otto = 1×83 + 4×82 + 6×81 + 1×80 = = 817dieci Ogni cifra ottale corrisponde a tre cifre binarie: due = [11] [101] [100] = 354otto due = [1] [100] [110] [001] = 1461otto Esadecimali (base b = 16) Alfabeto esadecimale: cifre 0 – 9 + lettere A – F ECsedici = 14× ×160 = = 236dieci 331sedic = 3× × ×160 = = 817dieci Ogni cifra esadecimale corrisponde a quattro cifre binarie: due = [1110] [1100] = ECsedici due = [11] [0011] [0001] = 331sedici Introduzione ai sistemi informatici

43 Numeri interi Alfabeto binario Modulo e segno
24/04/2017 Numeri interi Alfabeto binario anche il segno è rappresentato da 0 o 1 è indispensabile indicare il numero k di bit utilizzati Modulo e segno 1 bit di segno (0 positivo, 1 negativo) k – 1 bit di modulo Esempio: +6dieci = 0110ms –6dieci = 1110ms si rappresentano i valori da –2k–1+1 a 2k–1–1 con 4 bit i valori vanno da –7 a +7 con 8 bit i valori vanno da –127 a +127 Attenzione: ci sono due rappresentazioni dello 0 con 4 bit sono +0dieci = 0000ms –0dieci = 1000ms Introduzione ai sistemi informatici

44 Diverse codifiche/interpretazioni
24/04/2017 Diverse codifiche/interpretazioni Codice Nat MS 0000 1000 8 -0 0001 1 1001 9 -1 0010 2 1010 10 -2 0011 3 1011 11 -3 0100 4 1100 12 -4 0101 5 1101 13 -5 0110 6 1110 14 -6 0111 7 1111 15 -7 Introduzione ai sistemi informatici

45 Numeri interi in complemento a 2
24/04/2017 Numeri interi in complemento a 2 Alfabeto binario anche il segno è rappresentato da 0 o 1 è indispensabile indicare il numero k di bit utilizzati Complemento a 2 X corrisponde al binario naturale di 2k + X +6dieci  24+6 = 22  [1]0110  0110C2 –6dieci  24– 6 = 10  [0]1010  1010C2 si rappresentano i valori da –2k–1 a 2k–1–1 con 4 bit i valori vanno da –8 a +7 con 8 bit i valori vanno da –128 a +127 Con 32 bit i valori vanno da –2'147'483'648 fino a +2'147'483'647 Attenzione: c’è una sola rappresentazione dello 0 con 4 bit è +0dieci = 0000C2 mentre 1000C2 = –8dieci Introduzione ai sistemi informatici

46 24/04/2017 Il complemento a 2 Metodi alternativi per calcolare la rappresentazione di –X a partire da quella di X Effettuare il complemento di ogni bit di X, poi aggiungere 1 rappresentazione di +6dieci = 0110C2 (NB ci vogliono 4 bit!!) complemento di tutti i bit  1001C2 (corrisponderebbe a -7dieci) aggiungere 1  1010C2 (che corrisponde a -6dieci) Partendo da destra e andando verso sinistra, lasciare invariati tutti i bit fino al primo 1 compreso, complementare tutti gli altri bit. gli ultimi due bit (_ _ 1 0) rimangono invariati gli altri due bit vengono complementati ( C2) Introduzione ai sistemi informatici

47 Complemento a 2: alcune osservazioni
24/04/2017 Complemento a 2: alcune osservazioni Se si considera la notazione posizionale, si può notare che nella rappresentazione binaria in complemento a due il valore si può ottenere anche associando alla cifra più significativa un peso negativo, mentre tutte le altre cifre mantengono il peso originario positivo. Il valore di un numero cn–1cn–2…c1c0 scritto in complemento a due è – cn–1×2n–1 + cn–2×2n–2 + … + c1×21 + c0×20 Esempi: 0101C2 = – 0×23+1×22+0×21+1×20 = 5dieci, 1011C2 = – 1×23+0×22+1×21+1×20 = –5dieci. Introduzione ai sistemi informatici

48 Complemento a 2: alcune osservazioni
24/04/2017 Complemento a 2: alcune osservazioni I valori positivi iniziano con 0, quelli negativi con 1 Data la rappresentazione di un numero su k bit, la rappresentazione dello stesso numero su k+1 bit si ottiene aggiungendo (a sinistra) un bit uguale al primo (estensione del “segno”) Rappresentazione di –6 su 4 bit = 1010 Rappresentazione di –6 su 5 bit = 11010 Rappresentazione di –6 su 8 bit = la sottrazione si effettua come somma algebrica 4 – 6 = +4 + (–6) = = 1110 = –2 9 – 6 = +9 + (–6) = = [1]00011 = +3 Introduzione ai sistemi informatici

49 C2: rappresentazioni con diversi #bit
24/04/2017 C2: rappresentazioni con diversi #bit Naturale in base dieci Complemento a due (# bit) 2 3 4 5 8 16 –13 NA 1 0011 –8 1000 1 1000 –7 1001 1 1001 –4 100 1100 1 1100 –1 11 111 1111 1 1111 +1 01 001 0001 0 0001 +4 0100 0 0100 +7 0111 0 0111 +8 0 1000 +13 0 1101 Introduzione ai sistemi informatici

50 24/04/2017 C2: operazioni Operazioni di somma di numeri binari in complemento a due. Con gli 8 bit utilizzati negli esempi qui riportati si possono rappresentare i numeri interi da –128dieci fino a +127dieci Introduzione ai sistemi informatici

51 24/04/2017 C2: operazioni Se due operandi dello stesso segno danno un risultato di segno opposto vuol dire che è stata superata la capacità di calcolo (overflow). Introduzione ai sistemi informatici

52 Diverse codifiche/interpretazioni
24/04/2017 Diverse codifiche/interpretazioni Dieci Due MS C2 +0 0000 –0 1000 +1 0001 –1 NA 1001 1111 +2 0010 –2 1010 1110 +3 0011 –3 1011 1101 +4 0100 –4 1100 +5 0101 –5 +6 0110 –6 +7 0111 –7 +8 –8 Introduzione ai sistemi informatici

53 Diverse codifiche/interpretazioni
24/04/2017 Diverse codifiche/interpretazioni Codice Nat MS C2 0000 1000 8 -0 -8 0001 1 1001 9 -1 -7 0010 2 1010 10 -2 -6 0011 3 1011 11 -3 -5 0100 4 1100 12 -4 0101 5 1101 13 0110 6 1110 14 0111 7 1111 15 Introduzione ai sistemi informatici

54 24/04/2017 Numeri razionali Cifre più significative: sono le cifre associate ai pesi maggiori per i numeri maggiori di 1, le cifre più significative sono quelle poste più a sinistra, per esempio, nel numero 723'456, la cifra più significativa è 7, associata al peso 105, seguita da 2, con peso 104, e così via; nel caso di numeri minori di 1, che iniziano con 0 seguito dal separatore decimale, le cifre più significative sono le prime diverse da 0 che si incontrano andando da sinistra verso destra, per esempio, nel numero la cifra più significativa è 7, con peso 10–3, seguita da 2, con peso 10–4, e così via. Quando i numeri hanno un valore molto grande o molto piccolo, si considerano solo le cifre più significative, adottando una rappresentazione che viene indicata come notazione scientifica: un numero in base B viene rappresentato come ±0.m×Be, segno (+ oppure –), coefficiente m, detto mantissa, che è la parte frazionaria compresa tra 0 e 1 esponente e a cui elevare la base della numerazione, che è un intero ( 0) Esempi: -123'450'000'000 diventa – ×1012, con segno negativo, mantissa 12345, ed esponente 12; , corrisponde a ×105, con segno positivo, mantissa ed esponente –5. Introduzione ai sistemi informatici

55 Rappresentazione binaria
24/04/2017 Rappresentazione binaria Per esempio diventa × , segno positivo; mantissa (si noti che la mantissa inizia sempre con 1); esponente è 01001C2 (si noti come l’esponente sia un numero intero e per questo sia necessario adottare una rappresentazione che permetta la codifica anche di valori negativi, come, per esempio, quella in complemento a due). Standard IEEE-754 (Institute of Electrical and Electronic Engineers): precisione doppia: 64 bit precisione singola: 32 bit Introduzione ai sistemi informatici

56 24/04/2017 Analogico vs digitale Introduzione ai sistemi informatici

57 Informazione “classificatoria” e più che “classificatoria”
24/04/2017 Informazione “classificatoria” e più che “classificatoria” Informazione classificatoria: “è questo, ma avrebbe potuto essere quest’altro”. Informazione più che classificatoria: riconoscere distinzioni; stabilire una relazione d’ordine (“questo è maggiore di quest’altro”); stabilire una metrica (“questo è distante un certo valore da quest’altro”). L’insieme delle entità di informazione ha una struttura. La struttura dice “cosa si può fare” con le entità di informazione dell’insieme, in termini di operazioni di combinazione e di confronto. Si tratta di informazione su informazione (meta-informazione) in presenza della quale l’insieme delle entità di informazione diventa un sistema, cioè appunto un “insieme con struttura”. Introduzione ai sistemi informatici

58 Due alternative Meta-informazione esplicita nel supporto:
24/04/2017 Due alternative Meta-informazione esplicita nel supporto: il supporto ha una struttura corrispondente a quella presente tra entità di informazione. Meta-informazione implicita nella regola di codifica: al supporto si richiede solo di avere configurazioni molteplici e distinguibili l’una dall’altra, la meta-informazione è definita in modo estensionale nella regola di codifica. Cosa succede nei due casi se si aggiungono i “mezzi punti”? Introduzione ai sistemi informatici

59 Analogico e digitale Meta-informazione esplicita nel supporto
24/04/2017 Analogico e digitale Meta-informazione esplicita nel supporto Codifica ANALOGICA Meta-informazione implicita nella codifica Codifica DIGITALE Introduzione ai sistemi informatici

60 Analogico vs digitale Analogico Digitale Definizione della codifica
24/04/2017 Analogico vs digitale Analogico Digitale Definizione della codifica Intensionale Estensionale Ridefinizione codifica vs variazione entità informazione Nessuna ridefinizione Estendere il processo definito in precedenza Applicabilità vs cardinalità entità informazione OK anche per cardinalità non finita Solo per cardinalità finita e con entità note a priori Applicabilità vs struttura entità informazione Solo se c’è una struttura OK in ogni caso Condizioni sul supporto Solo se il supporto ha una struttura OK in ogni caso Introduzione ai sistemi informatici

61 Da analogico a digitale: 1. la quantizzazione
24/04/2017 Ampiezza della grandezza fisica Codifiche assegnate ai valori scelti per rappresentare gli insiemi 000 001 011 010 110 111 101 100 101 111 100 110 010 001 Valori rappresentativi dei diversi insiemi Demarcazione degli insiemi individuati Introduzione ai sistemi informatici

62 Da analogico a digitale: 2. il campionamento
24/04/2017 Da analogico a digitale: 2. il campionamento La grandezza varia nel tempo e non può essere rappresentata da un solo valore. I valori di riferimento debbono essere rilevati in diversi istanti di tempo (frequenza di campionamento). La quantizzazione deve poi essere ripetuta per ogni valore campionato. Ampiezza della grandezza fisica Tempo Introduzione ai sistemi informatici

63 Campionamento e quantizzazione
24/04/2017 Campionamento e quantizzazione Ampiezza della grandezza fisica Tempo Valori rappresentativi Introduzione ai sistemi informatici

64 Campionamento e quantizzazione
24/04/2017 Campionamento e quantizzazione Introduzione ai sistemi informatici

65 24/04/2017 Ricostruzione Introduzione ai sistemi informatici

66 Quantizzazione su più livelli
24/04/2017 Quantizzazione su più livelli Introduzione ai sistemi informatici

67 Suono digitale Formato standard per i CD audio
24/04/2017 Suono digitale Formato standard per i CD audio frequenza di campionamento di 44'100 Hz quantizzazione su 65'536 livelli (un campione viene codificato su 16 bit) Un secondo di musica stereo richiede 44'100 campioni di 16 bit (2 byte) ciascuno per due canali, quindi 176'400 byte. L’errore che si commette nella ricostruzione del segnale sonoro è difficilmente rilevabile da parte di un orecchio umano. Introduzione ai sistemi informatici

68 24/04/2017 Foto digitali Per la codifica digitale delle immagini le operazioni di campionamento e quantizzazione si applicano nello spazio invece che nel tempo. Il campionamento consiste nel dividere l’immagine in sottoinsiemi (pixel, cioè picture element), per ognuno dei quali si dovrà prelevare un campione che si considera rappresentativo del colore di tutto il sottoinsieme. La quantizzazione è la codifica del colore associato a ogni pixel: i più recenti formati utilizzano 32 bit (4 byte) per pixel: 8 bit per ognuna delle tre componenti fondamentali (RGB: red, green, blue) e altri 8 per gestire le trasparenze. Memoria necessaria per immagini non compresse (bitmap) per un’immagine di 640480 pixel servono 1'228'800 byte; per un’immagine di 800600 pixel servono 1'920'000 byte; per un’immagine di 1024768 pixel servono 3'145'728 byte; per un’immagine di 12801024 pixel servono 5'242'880 byte; per un’immagine di 16001200 pixel servono 7'680'000 byte; Introduzione ai sistemi informatici

69 Il successo del digitale
24/04/2017 Il successo del digitale Rumore: effetto dell’ambiente sul supporto. Quanto un supporto è “immune” al rumore? Codifica analogica: ogni configurazione è lecita dal punto di vista informazionale e quindi risulta impossibile distinguere il rumore dal segnale. Codifica digitale: un valore binario è associato a un insieme di configurazioni valide quindi si può riconoscere il rumore che porta in configurazioni non lecite trascurare il rumore che non fa uscire il segnale dall’insieme associato alla stessa configurazione Tensione (V) 0 binario 1 2 3 4 5 1 binario Non lecito Introduzione ai sistemi informatici

70 Come ridurre il numero di bit
24/04/2017 Come ridurre il numero di bit Esempio successione di un milione di caratteri, ognuno scelto dall’insieme {A, C, G, T}; la frequenza dei quattro caratteri all’interno della successione non è uguale: A si presenta nel 50% dei casi, C nel 25%, G e T solo nel 12.5% dei casi. Codifica digitale a lunghezza costante due bit per ciascuno dei simboli, per esempio: A = 00, C = 01, G = 10 e T = 11; la lunghezza complessiva della successione è quindi pari a 2 milioni di bit. Codifica a lunghezza variabile (che tenga conto della distribuzione) A = 0, C = 10, G = 110 e T = 111; la lunghezza complessiva della successione è di 1.75 milioni di bit (1×50% + 2×25% + 3×12.5% + 3×12.5%) bit/carattere × 1 milione di caratteri Il cambiamento di codifica permette di ridurre il numero di bit utilizzato senza perdere informazione. Introduzione ai sistemi informatici

71 La compressione dei dati
24/04/2017 La compressione dei dati Gli algoritmi di compressione dei dati possono essere distinti in due categorie fondamentali Compressione lossless, se non provoca la perdita di informazione Compressione lossy, se provoca la perdita di informazione Gli algoritmi di compressione lossless sfruttano le regolarità nei dati RLE (Run Length Encoding): successioni di n simboli uguali vengono rappresentati con una coppia <simbolo, n> Tecniche basate su dizionario: sequenze di simboli ripetute trovate analizzando i dati sono sostituite con simboli elementari memorizzando le corrispondenze in un dizionario Gli algoritmi di compressione lossy sono specifici per i diversi domini applicativi. Gli algoritmi di compressione lossy sono specifici per i diversi domini applicativi: per le immagini si sfrutta il fatto che per l’occhio umano lievi cambiamenti di colore in punti contigui sono poco visibili e quindi possono essere eliminati (su questo principio si basano, per esempio, i formati GIF e JPEG); per le animazioni e i video si sfrutta il fatto che immagini successive hanno spesso molte parti uguali e quindi di ogni immagine possono essere memorizzate solo le differenze con l’immagine precedente (come fanno, per esempio, vari standard MPEG); per i file audio, si sfrutta il fatto che per l’orecchio umano suoni a basso volume sovrapposti ad altri di volume maggiore sono poco udibili e quindi possono essere eliminati (come succede nel caso del formato MPEG 1 Layer 3, noto come MP3). Introduzione ai sistemi informatici

72 Un semplice esempio con dizionario
24/04/2017 Un semplice esempio con dizionario Compressione lossless con tecnica basata su un dizionario Testo di esempio: “I re di Francia della dinastia Carolingia sono: Carlo II, Luigi II di Francia, Luigi III di Francia, Carlomanno di Francia, Carlo III detto il grosso, Odo, Carlo III detto il semplice, Roberto I di Francia, Rodolfo Duca di Borgogna, Luigi IV di Francia, Lotario di Francia, Luigi V di Francia” (lunghezza: 292 caratteri) Analisi delle regolarità presenti nel testo: Si individuano le sequenze ripetute (parole) contando le ripetizioni e si compila il dizionario (vedere tabella) Si assegna un simbolo che la sostituisce ad ogni parola Il testo diventa: “I re 1 2 della 1nastia Carolingia sono: 5 3, , 4 3I 1 2, 5manno 1 2, 5 3I 6 7 grosso, Odo, 5 3I 6 7 semplice, Roberto I 1 2, Rodolfo Duca 1 Borgogna, 4 IV 1 2, Lotario 1 2, 4 V 1 2” (lunghezza: 187 caratteri + 35 caratteri per il dizionario = 222 caratteri - 76% della lunghezza originaria) Un testo più lungo permette una efficienza maggiore! Indice Parola N 1 di 10 2 Francia 8 3 II 5 4 Luigi Carlo 6 detto 7 il Gli algoritmi di compressione lossy sono specifici per i diversi domini applicativi: per le immagini si sfrutta il fatto che per l’occhio umano lievi cambiamenti di colore in punti contigui sono poco visibili e quindi possono essere eliminati (su questo principio si basano, per esempio, i formati GIF e JPEG); per le animazioni e i video si sfrutta il fatto che immagini successive hanno spesso molte parti uguali e quindi di ogni immagine possono essere memorizzate solo le differenze con l’immagine precedente (come fanno, per esempio, vari standard MPEG); per i file audio, si sfrutta il fatto che per l’orecchio umano suoni a basso volume sovrapposti ad altri di volume maggiore sono poco udibili e quindi possono essere eliminati (come succede nel caso del formato MPEG 1 Layer 3, noto come MP3). Introduzione ai sistemi informatici


Scaricare ppt "Capitolo 2 L’informazione e la sua codifica"

Presentazioni simili


Annunci Google