Fondamenti di Informatica CDL in Ingegneria Gestionale (B) - A.A CDL in Ingegneria Gestionale (B) - A.A Codifica binaria dellinformazione Ing. Simona Colucci
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica CDL in Ingegneria Gestionale (B) - A.A Codifica binaria dellinformazione 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 Nellinterazione con il calcolatore la codifica in binario e la decodifica in formato leggibile sono trasparenti allutente
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica CDL in Ingegneria Gestionale (B) - A.A 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 a n : cifra più significativa a 0 : cifra meno significativa n = m-1 a i {0, 1,..., p-1}
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica CDL in Ingegneria Gestionale (B) - A.A Numero naturale N, composto da m cifre, in base p: Rappresentazione Sistemi posizionali: Rappresentazione in base p Spazio di Rappresentazione: numeri nellintervallo discreto [0, p m - 1]
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica CDL in Ingegneria Gestionale (B) - A.A Il sistema decimale: rappresentazione in base 10 Sistema posizionale –Esempio: 123 = 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: = 5· · ·10 0 –Spazio di rappresentazione: intervallo discreto [0, 10 m -1]
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica CDL in Ingegneria Gestionale (B) - A.A 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: = (1·2 4 +1·2 3 +0·2 2 +1·2 1 +1·2 0 ) 10 = –Spazio di rappresentazione: intervallo discreto [0, 2 m -1] Esempio con m=8: [ , ], ovvero: [0 10, ] Sistema binario: Rappresentazione in base due
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica CDL in Ingegneria Gestionale (B) - A.A Il sistema binario: unità di misura kilobyte(Kb) = 2 10 byte = 1024 byte megabyte(Mb) = 2 20 byte = byte gigabyte(Gb) = 2 30 byte = byte terabyte(Tb) = 2 40 byte = 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
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica CDL in Ingegneria Gestionale (B) - A.A 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 = (2·8 2 +3·8 1 +4·8 0 ) 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 0 ) 10 = Spazio di rappresentazione: [0, 16 m -1]
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica CDL in Ingegneria Gestionale (B) - A.A Conversioni di base Per convertire da base p a base 10: Esempio: = (1·2 4 +1·2 3 +0·2 2 +1·2 1 +1·2 0 ) 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 =( ) 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
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica CDL in Ingegneria Gestionale (B) - A.A Conversioni di base Le basi ottale ed esadecimale sono di interesse informatico per la facilità di conversione, con il metodoper parti: –Da base 2 a base 8: si converte a gruppi di tre bit, traducendo ciascuna tripla nella corrispondente cifra ottale ( ) 2 =(1267) 8 –Da base 2 a base 16: si converte a gruppi di quattro bit, traducendo ciascuna quadrupla nella corrispondente cifra esadecimale ( ) 2 =(2B7) 16 La base ottale ed esadecimale consentono una grande sintesi di rappresentazione
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica CDL in Ingegneria Gestionale (B) - A.A Somma Le cifre sono 0 e 1 ed il riporto può essere solo 1 Riporto precedente SommaRisultatoRiporto
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica CDL in Ingegneria Gestionale (B) - A.A Esempio di somma e carry Esempio: 1 riporto (5 10 ) 1001 = (9 10 ) (14 10 ) 111 riporti (15 10 ) 1010 = (10 10 ) carry (25 10 se uso 5 bit; 9 10 se considero 4 bit: errato)
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica CDL in Ingegneria Gestionale (B) - A.A 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
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica CDL in Ingegneria Gestionale (B) - A.A 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 Num. intero, base 10Num. intero, base due, modulo e segno –3111 –2110 –1101 – Esempio m=3
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica CDL in Ingegneria Gestionale (B) - A.A 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 = +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 Complemento a due (CPL 2 ) Num. intero base 10Trasformazione Num. intero, base 2, CPL 2, m= = = = = = = = = 111 0nessuna0 10 = 000 1nessuna1 10 = 001 2nessuna2 10 = 010 3nessuna3 10 = 011 Esempio m=3 (-N) CPL2 =(2 3 -N 10 ) 2
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica CDL in Ingegneria Gestionale (B) - A.A 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 complemento a 2 101
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica CDL in Ingegneria Gestionale (B) - A.A 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 loperazione è errata –Loverflow non può verificarsi se gli operandi sono di segno discorde
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica CDL in Ingegneria Gestionale (B) - A.A Somma e sottrazione in CPL 2 Esempi: m=7 spazio di rappresentazione [-64, +63] (1) [1](1) OVERFLOWRIPORTO Perché ignorare il riporto finale in CPL 2 ad m bit? Esempio: base= =302= = = = ( )-10000= ( )- è il complemento a 10 del sottraendo: (9878) CPL10 = = si addiziona al minuendo il complemento a 10 del sottraendo = = questa sottrazione equivale a trascurare la cifra piu significativa = 302
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica CDL in Ingegneria Gestionale (B) - A.A Caratteri Codifica numerica tramite 1 byte ASCII (American Standard Code for Information Interchange) utilizza 7 bit (estesa talvolta a 8 bit per rappresentare altri 128 caratteri) LASCII codifica: –I caratteri alfanumerici (lettere maiuscole e minuscole e numeri), compreso lo spazio –I simboli #, …) –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.
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica CDL in Ingegneria Gestionale (B) - A.A Tabella ASCII (parziale) DEC CAR A 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
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica CDL in Ingegneria Gestionale (B) - A.A Limmagine digitale Le immagini sono codificate come sequenze di bit Digitalizzazione: passaggio dallimmagine alla sequenza binaria Limmagine è suddivisa in una griglia di punti (detti pixel) 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 limmagine bisogna conoscere: –le dimensioni dellimmagine : larghezza e altezza in pollici del rettangolo in cui è contenuta –la risoluzione dellimmagine :numero di pixel per pollice (dpi - dot per inch) –il numero di colori o toni di grigio disponibili per ogni pixel Codifica delle immagini
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica CDL in Ingegneria Gestionale (B) - A.A Limmagine digitale Standard di codifica: –TIFF (Tagged Image File Format) –PNG (Portable Network Graphics) –JPEG Tecniche di compressione –utilità: ridurre lo spazio necessario a rappresentare i punti dellimmagine ridurre la quantità di memoria necessaria a memorizzare limmagine ridurre il tempo necessario a trasmettere limmagine tra i dispositivi –classificazione: compressione lossless : comprime limmagine senza deteriorarla (TIFF) –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 limmagine (JPEG, PNG) –adatte ad immagini con molti colori, memorizzano le differenze cromatiche tra gruppi di pixel
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica CDL in Ingegneria Gestionale (B) - A.A Operazioni con le informazioni Aritmetiche –Es. Somma e differenza viste prima Logiche –Utilizzano lalgebra di Boole
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica CDL in Ingegneria Gestionale (B) - A.A 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
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica CDL in Ingegneria Gestionale (B) - A.A Operatori booleani Tavole di verità: ABA AND B ABA OR B ANOT A 01 10
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica CDL in Ingegneria Gestionale (B) - A.A Operatori booleani: proprietà Commutativa: –A OR B = B OR A –A AND B = B AND A Distributiva di uno verso laltro: –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))
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica CDL in Ingegneria Gestionale (B) - A.A 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
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica CDL in Ingegneria Gestionale (B) - A.A Dalla formula alla tabella Vediamo un esempio, per lespressione: D = A AND NOT (B OR C) ABC D = A AND NOT (B OR C)
Sistemi Informativi DEE - Politecnico di Bari Fondamenti di Informatica CDL in Ingegneria Gestionale (B) - A.A Dalla tabella alla formula Se conosco la tabella della verità, posso ricostruire la formula logica. Partiamo dalla tabella: C 1 = (NOT A AND B) OR (A AND NOT B) OR (A AND B) ABC1C NOT A AND B A AND NOT B A AND B