La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

4. Codifica binaria dell’informazione Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013 Ing. Simona Colucci.

Presentazioni simili


Presentazione sul tema: "4. Codifica binaria dell’informazione Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013 Ing. Simona Colucci."— Transcript della presentazione:

1 4. Codifica binaria dell’informazione Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013 Ing. Simona Colucci

2 Codifica binaria dell’informazione Tutte le informazioni vanno tradotte in bit (organizzati poi in byte o parole): –Numeri naturali –Numeri interi(con segno) –Numeri frazionari –Numeri reali –Caratteri –Immagini Nell’interazione con il calcolatore la codifica in binario e la decodifica in formato leggibile sono trasparenti all’utente Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

3 Numeri naturali: Sistemi di numerazione Un sistema di numerazione è composto da: –Insieme finito di simboli o cifre –Regole che permettono di rappresentare i numeri naturali Classificazione –Sistemi additivi (Es. sistema romano parzialmente): Ogni cifra assume un valore prefissato Il numero si ottiene addizionando le cifre che lo compongono Impossibilità di rappresentare numeri molto grandi e difficoltà di esecuzione delle operazioni matematiche –Sistemi posizionali (Es. sistema decimale): Le cifre acquistano un peso diverso a seconda della posizione che occupano Un numero generico di m cifre è rappresentato in base p dalla sequenza: a n, a n-1, a n-2,..., a 0 Compattezza di rappresentazione anche per numeri molto grandi e facilità di esecuzione delle operazioni Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013 a n : cifra più significativa a 0 : cifra meno significativa n = m-1 a i  {0, 1,..., p-1}

4 Sistemi posizionali: Rappresentazione in base p Numero naturale N, composto da m cifre, in base p: Rappresentazione Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013 Spazio di Rappresentazione: numeri nell’intervallo discreto [0, p m - 1]

5 Il sistema decimale: rappresentazione in base 10 Sistema posizionale –Esempio: 123 = 100 +20 +3 Base: p = 10 Insieme di simboli: a i  {0,1,2,3,4,5,6,7,8,9} Numero naturale N di m cifre: –Rappresentazione: N 10 = a n ·10 n +a n- 1 ·10 n-1 +…+a 0 ·10 0 n=m-1 Esempio, con m=3: 587 10 = 5·10 2 +8·10 1 +7·10 0 –Spazio di rappresentazione: intervallo discreto [0, 10 m -1] Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

6 Sistema binario: Rappresentazione in base due Sistema posizionale Base binaria: p=2 Insieme di simboli: a i  {0, 1} –Simboli chiamati bit (binary digit) –Otto bit chiamati byte Numero naturale N di m cifre: –Rappresentazione: N 2 = a n ·2 n + a n-1 ·2 n-1 +…+a 0 ·2 0 n=m-1 Esempio, con m=5: 11011 2 = (1·2 4 +1·2 3 +0·2 2 +1·2 1 +1·2 0 ) 10 = 27 10 –Spazio di rappresentazione: intervallo discreto [0, 2 m -1] Esempio con m=8: [00000000 2, 11111111 2 ], ovvero: [0 10, 255 10 ] Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

7 Il sistema binario: unità di misura kilobyte(Kb) = 2 10 byte = 1024 byte megabyte(Mb) = 2 20 byte = 1048576 byte gigabyte(Gb) = 2 30 byte = 1073741824 byte terabyte(Tb) = 2 40 byte = 1099511627776 byte Le approssimazioni a potenze di 10: sono accettabili solo per i kilobyte: 1024 ~1000 sono inaccettabili per 10 4,10 5,10 6 le lettere maiuscole nel simbolo indicano che non si tratta delle potenze di 10 del sistema internazionale Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

8 Basi ottale ed esadecimale Rappresentazione in base 8: –Base ottale: p=8; –Insieme di simboli a i  {0, 1, 2, 3, 4, 5, 6, 7} –Numero N di m cifre: Rappresentazione: N 8 = (a n ·8 n +a n-1 ·8 n-1 +…+ a 0 ·8 0 ) 10 n=m-1 Es. 234 8 = (2·8 2 +3·8 1 +4·8 0 ) 10 = 156 10 Spazio di rappresentazione: [0, 8 m -1] Rappresentazione in base 16: –Base esadecimale: p=16; –Insieme di simboli a i  {0, 1, 2, …, 9, A, B, C, D, E, F} Notare: “11” al posto di “B” e “15” al posto di “F”, i loro equivalenti in base dieci –Numero N di m cifre: Rappresentazione: N 16 = (a n ·16 n +a n-1 ·16 n-1 +…+ a 0 ·16 0 ) 10 n=m-1 Esempio: B7F 16 = (11·16 2 +7·16 1 +15·16 0 ) 10 = 2943 10 Spazio di rappresentazione: [0, 16 m -1] Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

9 Conversioni di base Per convertire da base p a base 10: Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013 Esempio: 11011 2 = (1·2 4 +1·2 3 +0·2 2 +1·2 1 +1·2 0 ) 10 = 27 10 Per convertire da base dieci a base due: –Metodo delle divisioni successive: esempio 331:2 = 165 con resto di 1 165:2 = 82 con resto di 1 82:2 = 41 con resto di 0 41:2 = 20 con resto di 1 (331) 10 =(101001011) 2 20:2 = 10 con resto di 0 10:2 = 5 con resto di 0 5:2 = 2 con resto di 1 2:2 = 1 con resto di 0 1:2 = 0 con resto di 1

10 Conversioni di base Le basi ottale ed esadecimale sono di interesse informatico per la facilità di conversione, con il metodo”per parti”: –Da base 2 a base 8: si converte a gruppi di tre bit, traducendo ciascuna tripla nella corrispondente cifra ottale (001010110111) 2 =(1267) 8 –Da base 2 a base 16: si converte a gruppi di quattro bit, traducendo ciascuna quadrupla nella corrispondente cifra esadecimale (001010110111) 2 =(2B7) 16 La base ottale ed esadecimale consentono una grande sintesi di rappresentazione Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

11 Somma Le cifre sono 0 e 1 ed il riporto può essere solo 1 Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013 Riporto precedente SommaRisultatoRiporto 00 + 000 0 0 + 1 1 + 0 10 01 + 101 10 + 010 1 0 + 1 1 + 0 01 11 + 111

12 Esempio di somma e carry Esempio: Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013 1  riporto 0101 + (5 10 ) 1001 = (9 10 ) ------ 1110 (14 10 ) 111  riporti 1111 + (15 10 ) 1010 = (10 10 ) ------- carry  11001 (25 10 se uso 5 bit; 9 10 se considero 4 bit: errato)

13 Numeri interi Includono anche i numeri negativi Rappresentati tramite il segno ed il valore del numero Codifica binaria secondo uno delle due modalità seguenti: –Rappresentazione in modulo e segno –Rappresentazione in complemento a due Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

14 Modulo e segno In un numero di m bit il primo bit è utilizzato per memorizzare il segno: –“1” numero negativo –“0” numero positivo Spazio di rappresentazione: tra -(2 m-1 -1) e (2 m-1 -1) Fenomeno dello zero positivo e negativo Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013 Num. intero, base 10Num. intero, base due, modulo e segno –3111 –2110 –1101 –0100 +0000 +1001 +2010 +3011 Esempio m=3

15 Complemento a due (CPL 2 ) Usando m bit: (-N) CPL2 = (2 m - N 10 ) 2 Spazio di rappresentazione: intervallo discreto [-2 m-1, 2 m-1 - 1] –Asimmetria tra negativi e positivi –Esempio (m=8): [-128, +127], perché -2 7 = -128 e 2 7 - 1 = +127 Tutti i numeri negativi cominciano con il bit più significativo posto a “1”, mentre tutti i positivi e lo zero iniziano con uno “0” Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013 Num. intero base 10Trasformazione Num. intero, base 2, CPL 2, m=3 -48 - 4 = 44 10 = 100 -38 - 3 = 55 10 = 101 -28 - 2 = 66 10 = 110 8 - 1 = 77 10 = 111 0nessuna0 10 = 000 1nessuna1 10 = 001 2nessuna2 10 = 010 3nessuna3 10 = 011 Esempio m=3 (-N) CPL2 =(2 3 -N 10 ) 2

16 Complemento a due (CPL 2 ) Metodo alternativo per ottenere (-N) CPL2 –Complementare i bit della rappresentazione binaria del modulo N(cambiare gli 1 in 0 e viceversa) –Sommare 1 al risultato ottenuto Esempio: -N= -3 N=(3) 10 =(011) 2 complemento ad 1 100 complemento a 2 101 Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

17 Somma e sottrazione in CPL 2 Somma: come per i naturali Sottrazione: N 1 - N 2 = N 1 + (-N 2 ) CPL2 Carry: –Il carry finale non viene considerato! Overflow: –Se, sommando due interi di m bit dotati di segno concorde, ottengo un risultato di segno discorde (sempre considerando m bit), allora si ha un overflow (il risultato non è codificabile su m bit) e l’operazione è errata –L’overflow non può verificarsi se gli operandi sono di segno discorde Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

18 Somma e sottrazione in CPL 2 Esempi: m=7 spazio di rappresentazione [-64, +63] Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013 +500101 +801000 +1301101 +500101 -811000 -311101 -511011 +801000 +3 (1)00011 -63 1000001 -8 1111000 -71 [1](1)0111001 OVERFLOWRIPORTO Perché ignorare il riporto finale in CPL 2 ad m bit? Esempio: base=10 10180-9878=302= = 10180 -9878 +10000-10000= = 10180+(10000-9878)-10000= (10000-9878)- è il complemento a 10 del sottraendo: (9878) CPL10 = 10180+122-10000= si addiziona al minuendo il complemento a 10 del sottraendo = 10302-10000= questa sottrazione equivale a trascurare la cifra piu significativa = 302

19 Rappresentazione: Relativa alla parte frazionaria Ottenuta tramite la formula Spazio di rappresentazione: Per un numero di n cifre in base p, posso rappresentare numeri nell ’ intervallo continuo: [0, 1-p -n ] Errore di approssimazione: minore di p -n Numeri frazionari Esempi con n=3: base 10: Rappresentazione: (0,587) 10 = (5·10 -1 +8·10 -2 +7·10 -3 ) Spazio di rapp.: [0, 1-10 -3 ] = [0, 0.999] Errore : minore di 0.001 base 2: Rappresentazione: (0,101) 2 = (1·2 -1 +0·2 -2 +1·2 -3 ) 10 = (0,625) 10 Spazio di rapp.: [0, 1-2 -3 ] Errore : minore di 2 -3 Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

20 Conversioni di base parte frazionaria Da base 2 a base 10: –Secondo la formula vista prima Da base 10 a base 2: –Si moltiplica progressivamente per 2 la parte frazionaria –Si prendono le parti intere di ciascun prodotto dalla più alla meno significativa, con numero di bit proporzionale all’accuratezza –Esempio: 0.587 10 0.587*2= 1.174 parte intera 1 parte frazionaria 0.174 0.174*2= 0.348 parte intera 0 parte frazionaria 0.348 0.348*2= 0.696 parte intera 0 parte frazionaria 0.696 0.696*2= 1.392 parte intera 1 parte frazionaria 0.392 0.392*2= 0.784 parte intera 0 parte frazionaria 0.784 0.784*2= 1.568 parte intera 1 parte frazionaria 0.568 ….. Risultato : 0.1001 con quattro cifre e approssimazione accurate entro il limite 2 -4 0.100101 con sei cifre e approssimazione accurate entro il limite 2 -6 Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

21 Numeri reali Approssimati tramite numeri razionali Rappresentazione relativa sia alla parte intera che a quella frazionaria Modalità di rappresentazione alternative: –virgola fissa –virgola mobile numeri molto grandi con poche cifre numeri molto piccoli con precisione Operazioni di somma e differenza tramite allineamento dei numeri Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

22 Virgola fissa Uso di m bit per parte intera e n bit per parte frazionaria con n ed m fissi –Esempio (m=8, n=6, tot. 14 bit): 123,587 10 123 10 = 01111011 2 0,587 10  100101 2 123,587 10  01111011, 100101 2 m e n scelti in base alla precisione che si vuole tenere Precisione costante lungo l’asse reale R: Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013 0 R

23 Virgola mobile (floating point) Il numero è espresso come: r = m·b n –m e n sono in base p –m: mantissa (numero frazionario con segno) –b: base della notazione esponenziale (numero naturale) –n: caratteristica (numero intero) –Esempio (p=10, b=10): -331,6875 = -0,3316875  10 3 m = -0,3316875 n = 3 Uso l 1 bit e l 2 bit per codificare m e n (incluso il segno): Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013 0 R Precisione variabile lungo l’asse reale R: –valori rappresentabili molto vicini nell’intorno di 0 –valori rappresentabili molto lontani nell’intorno del numero massimo esprimibile, positivo o negativo

24 Quando la mantissa comincia con una cifra diversa da zero, il numero in virgola mobile si dice normalizzato Es. –0,3316875  10 3 è normalizzato perché la mantissa è “3316875” La normalizzazione permette di avere, a parità di cifre usate per la mantissa, una maggiore precisione. Es. Uso l 1 =5 cifre per la mantissa: +45,6768  +0,45676  10 2  +0,00456  10 4 Ho perso 0,0008 Ho perso 0,0768 Virgola mobile (floating point) Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

25 Caratteri Codifica numerica ASCII (American Standard Code for Information Interchange) utilizza 7 bit (estesa talvolta a 8 bit per rappresentare altri 128 caratteri) –L’ASCII codifica: I caratteri alfanumerici (lettere maiuscole e minuscole e numeri), compreso lo spazio I simboli (punteggiatura, @, #, …) Alcuni caratteri di controllo che non rappresentano simboli visualizzabili (TAB, LINEFEED, RETURN, BELL, ecc) Non codifica per esempio le lettere accentate o greche –L’ ottavo bit o un nono possono essere usati come bit di parità: rende pari il numero di 1 in modo che se esso risulta dispari ci si accorge di errori di immagazzinamento o trasmissione dati. Unicode: 2 byte, per rappresentare tutti i simboli Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

26 Tabella ASCII (parziale) Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013 DEC CAR 480 491 502 513 524 535 546 557 568 579 65A 66B 67C 68D 69E 70F 71G 72H 73I 74J 75K 76L 77M 78N 79O 80P 81Q 82R 83S 84T 85U 86V 87W 88X 89Y 90Z 97a 98b 99c 100d 101e 102f 103g 104h 105i 106j 107k 108l 109m 110n 111o 112p 113q 114r 115s 116t 117u 118v 119w 120x 121y 122z

27 L’immagine digitale Le immagini sono codificate come sequenze di bit (formato bitmap) Digitalizzazione: passaggio dall’immagine alla sequenza binaria L’immagine è suddivisa in una griglia di punti (detti pixel (picture elements) Ogni pixel è descritto da un numero (su 8, 16, 24, o 32 bit) che ne rappresenta il colore(un particolare tono di grigi nelle immagini bianco e nero) –Es. con 8 bit  2 8 = 256 combinazioni di colore Per decodificare la sequenza binaria che codifica l’immagine bisogna conoscere: –le dimensioni dell’immagine : larghezza e altezza in pollici del rettangolo in cui è contenuta –la risoluzione dell’immagine :numero di pixel per pollice (dpi - dot per inch) –il numero di colori o toni di grigio disponibili per ogni pixel Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013 Codifica delle immagini

28 L’immagine digitale: comprimere il bitmap Standard di codifica: –GIF (Grafic Interchange Format) – formato proprietario ogni pixel da 24 bit a 8 bit e uso di una tavolozza per mappare le corrispondenze: scelta dei colori più frequenti e perdita delle sfumature Utilizzata in applicazioni web, ma non in fotografia – PNG (Portable Network Graphics) – simile al GIF ma libero –JPEG (Joint Photographic Expert Group): Adatto al campo fotografico Utilizza tecniche sofisticate di compressione, che tengono conto della fisiologia dell’occhio umano e della sua capacità di percepire le variazioni di colore –TIFF (Tagged Image File Format): Nato nel mondo dell’editoria elettronica per standardizzare le immagini da scanner Codifica simile a GIF: non idoneo al mondo fotografico Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

29 Tecniche di compressione utilità: –ridurre lo spazio necessario a rappresentare i punti dell’immagine –ridurre la quantità di memoria necessaria a memorizzare l’immagine –ridurre il tempo necessario a trasmettere l’immagine tra i dispositivi classificazione: –compressione lossless : comprime l’immagine senza deteriorarla (JPEG) adatte solo per immagini con ampie aree monocromatiche. in cui sequenze di punti con la stessa tonalità vengono codificate in forma compatta –compressione lossy: comprimono (molto di più), ma deteriorano l’immagine (TIFF, GIF, PNG) adatte ad immagini con molti colori, memorizzano le differenze cromatiche tra gruppi di pixel Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

30 Operazioni con le informazioni Aritmetiche –Es. Somma e differenza viste prima Logiche –Utilizzano l’algebra di Boole Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

31 Algebra di Boole Formalismo basato su tre operazioni logiche (dette anche operazioni booleane): –AND operatore binario –OR operatore binario –NOT operatore unario Le operazioni booleane si applicano ad operandi che possono assumere solo due valori: vero o falso Ogni formula scritta in algebra di Boole può assumere solo due valori: vero o falso Rappresentando vero con “1” e falso con “0” un bit può rappresentare un operando o il valore di una formula in algebra di Boole Tavole di verità: rappresentano il valore di una espressione logica(ottenuta a partire dai tre operatori logici) in funzione del valore degli operandi Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

32 Operatori booleani Tavole di verità: Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013 ABA AND B 000 010 100 111 ABA OR B 000 011 101 111 ANOT A 01 10

33 Operatori booleani: proprietà Commutativa: –A OR B = B OR A –A AND B = B AND A Distributiva di uno verso l’altro: –A OR (B AND C) = (A OR B) AND (A OR C) –A AND (B OR C) = (A AND B) OR (A AND C) Leggi di De Morgan: –A AND B = NOT ((NOT A) OR (NOT B)) –A OR B = NOT ((NOT A) AND (NOT B)) Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

34 Espressioni booleane Regole di precedenza: –NOT ha la massima precedenza –poi segue AND –infine OR Se voglio alterare queste precedenze devo usare le parentesi (a volte usate solo per maggior chiarezza) Per valutare un espressione booleana si usa la tabella della verità Due espressioni booleane sono equivalenti se e solo se le tabelle della verità sono identiche Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013

35 Dalla formula alla tabella Vediamo un esempio, per l’espressione: D = A AND NOT (B OR C) Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013 ABC D = A AND NOT (B OR C) 0000 0010 0100 0110 1001 1010 1100 1110

36 Dalla tabella alla formula Se conosco la tabella della verità, posso ricostruire la formula logica. Partiamo dalla tabella: Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013 C 1 = (NOT A AND B) OR (A AND NOT B) OR (A AND B) ABC1C1 000 011 101 111 NOT A AND B A AND NOT B A AND B

37 Simboli circuitali AND OR NOT Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013 A B A AND B A B A OR B A NOT A

38 Esercizi X = numero di lettere del nome (max 9) Y = numero di lettere del cognome (max 9) Z = 1 se X è pari; Z = 0 se X è dispari W = 1 se Y è pari ; W = 0 se Y è dispari 1.Dati i seguenti numeri interi: (-25Y) 10 (13X) 10 a)determinare quanti bit sono necessari alla loro rappresentazione in forma binaria in complemento a due b) rappresentarli entrambi in forma binaria in complemento a due c) eseguirne la somma binaria commentando il risultato 2.Si consideri il seguente numero rappresentato in forma normalizzata mediante 32 bit, dei quali il primo rappresenta il segno del numero, i successivi 7 la caratteristica rispetto alla base 10 in complemento a 2 ed i restanti 24 la mantissa. 0 0000Z1W 1ZW000000000000000000000 2.Determinare la tavola di verità della seguente espressione booleana: (NOT(A OR B) AND (NOT A AND NOT C)) AND C Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013


Scaricare ppt "4. Codifica binaria dell’informazione Informatica - CDL in Ingegneria Industriale- A.A. 2012-2013 Ing. Simona Colucci."

Presentazioni simili


Annunci Google