Fondamenti di Informatica Introduzione al Digitale [Sez: 2.3, 2.4, 2.5] Prof. De Maio Carmen cdemaio@unisa.it
Analogico/Digitale Segnale analogico - come un onda (es. sonora, luminosa) che trasporta informazioni, massimi, minimi e tutti i valori intermedi - i segnali analogici sono molto sensibili alle interferenze Segnale digitale - assume solo due stati: acceso/spento, sì/no, vero/falso - il segnale digitale è più facile da distinguere, quindi risente meno delle interferenze
Analogico Grandezze analogiche e digitali: orologio Mostra l ora attraverso la posizione delle lancette Ogni lancetta si muove con continuità e indica uno qualsiasi degli infiniti punti sulla circonferenza del quadrante Digitale Mostra l ora attraversi numeri Le cifre che compongono l ora si muovono a scatti e indicano solo uno dei 1440 possibili minuti in un giorno
Analogico Grandezze analogiche e digitali: termometro Mostra la temperatura attraverso l altezza della colonnina di mercurio Infiniti valori Digitale Mostra la temperatura attraverso dei numeri Non mostra valori intermedi (es. tra 36,5 e 36,6 gradi)
Che cos è il Digitale? Un esempio semplice: l interruttore Due sole possibilità: spento Acceso L informazione sullo stato dell interruttore corrisponde dunque alla scelta fra due sole alternative Possiamo rappresentarla attraverso 1 bit
Che cos è il Digitale? (cont.) Unità di misura dell informazione Corrisponde alla quantità di informazione fornita dalla scelta fra due sole alternative (considerate egualmente probabili)
Codifica dell informazione in binario 1 bit rappresenta lo stato dell interruttore Interruttore acceso: 1 Interruttore spento: 0
Codifica dell informazione con più di due stati: il Semaforo
Codifica dell informazione con più di due stati Nel nostro esempio, abbiamo deciso di utilizzare un bit per rappresentare lo stato di ciascuna delle lampadine del semaforo In questo modo, con 3 bit potremmo rappresentare tutti gli stati possibili del semaforo Nel caso del semaforo, le alternative disponibili sono comunque poche
Combinazioni Di Bit Bit a disposizione Le combinazioni 1 0,1 2=2 1 2 00,01,10,11 4=2 2 3 000,001,010,100,110,101,011,111 8=2 3 4 0000,0001,0010,0100,0110,0101,0011,0111, 1000,1001,1010,1100,1110,1101,1011,1111 5 00000,00001,00010,00100,00110,00101, 00011,00111,01000,01001,01010,01100, 01110,01101,01011,01111,10000,10001, 10010,10100,10110,10101,10011,10111, 11000,11001,11010,11100,11110,11101, 11011,11111 Il numero di combinazioni 16=2 4 32=2 5
Codifica dei caratteri Si, ma è possibile applicare queste idee alla rappresentazione di informazione più complessa, ad esempio di un testo? Un testo è rappresentato attraverso una successione di caratteri Ogni carattere viene scelto all interno di un insieme finito di simboli
Codifica dei caratteri (cont.) Con 8 bit, è possibile rappresentare la scelta fra 256 alternative diverse (2 8 =256) da 00000000 a 11111111 passando per tutte le combinazioni intermedie (00000001, 00000010, )
Codifica dei caratteri (cont.) Nel caso del semaforo, facevamo corrispondere diverse combinazioni di 3 bit a stati diversi del semaforo Nel caso del testo, faremo corrispondere diverse combinazioni di 8 bit (otto cellette, ciascuna delle quali può contenere 0 o 1) a caratteri diversi
Codifica dei caratteri (cont.) Ad esempio: 00000000 A 00000001 B 00000010 C 00000011 D 00000100 E. e così via
Codifica dei caratteri (cont.) Il risultato? Una stringa di caratteri sarà rappresentata dal computer come una successione di gruppi di 8 bit O G G I P I O V E 01001111 01000111 01000111 01001001 00100000 01010000 01001001 01001111 01010110 01000101
Codifica dei Caratteri I caratteri di un testo sono codificati come sequenze di bit I codici più usati sono: ASCII (American Standard Code for Information Interchange): ogni carattere è rappresentato da una sequenza di 7 bit (128 caratteri diversi possibili) ASCII esteso: ogni carattere è rappresentato da un byte (256 caratteri diversi possibili, comprende anche lettere greche, accentate ) EBCDIC (Extended Binary Coded Decimal Interchange Code): sviluppato ed impiegato da I.B.M., ogni carattere è rappresentato da un byte UNICODE (consorzio di produttori di HW e SW): ogni carattere è rappresentato da 16 (65.536 caratteri diversi possibili) o 21 bit (più di 2 milioni di caratteri) 10/2/2015 16
CODIFICA DELL INFORMAZIONE (Codifica Binaria) Bit 0/1 (si/no) Byte 00010010 (8 bit) Kilobyte 2 10 = 1024 byte Megabyte 2 20 ~ 1.000.000 byte Gigabyte 2 30 ~ 1.000.000.000 byte
Rappresentazione e Codifica dei Dati Complessi: Le Immagini Suddividiamo l immagine mediante una griglia formata da righe orizzontali e verticali a distanza costante
Rappresentazione e Codifica dei Dati Complessi: Le 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 in cui il bianco è predominante Il simbolo 1 viene utilizzato per la codifica di un pixel corrispondente ad un quadratino in cui il nero è predominante
Rappresentazione e Codifica dei Dati Complessi: Le Immagini Rappresentazione Binaria: Alfabeto {0, 1} Codifica: 1 se è predominante il nero 0 se è predominante il bianco Rappresentazione:
Rappresentazione e Codifica dei Dati Complessi: Le Immagini Se riconvertiamo la sequenza di stringhe in immagine otteniamo
Rappresentazione e Codifica dei Dati Complessi: Le Immagini Ottengo una rappresentazione più fedele se aumento il numero dei pixel (ossia al diminuire delle dimensioni dei quadratini della griglia in cui è suddivisa l immagine:
Considerazioni La perdita di informazione è accettabile nella rappresentazione delle immagini (in alcuni casi) ma non è accettabile nella codifica dei numeri, dei testi, etc. (in questi casi l informazione non deve essere soggetta ad errori e abbiamo bisogno di codifiche diverse)
e la codifica delle immagini a colori? Assegnando un bit ad ogni pixel è possibile codificare solo immagini in bianco e nero Per codificare le immagini con diversi livelli di grigio oppure a colori si usa la stessa tecnica: per ogni pixel viene assegnata una sequenza di bit Per memorizzare un pixel non è più sufficiente un solo bit Per esempio, se utilizziamo quattro bit possiamo rappresentare 2 4 = 16 livelli di grigio o 16 colori diversi Mentre con otto bit ne possiamo distinguere 2 8 = 256, ecc.
e la codifica delle immagini a colori? 010101010101 011110101001 011101011001 011101011001 011111111001 010101010101
Fondamenti di Informatica Codifica Binaria di Numeri [Sez: 2.5] Prof. De Maio Carmen cdemaio@unisa.it
I sistemi di numerazione POSIZIONALI ai diversi simboli dell alfabeto (cifre), viene associato un valore crescente in modo lineare da destra verso sinistra; il significato di un simbolo ( il suo valore) dipende ordinatamente dalla sua posizione nella stringa ESEMPIO: il sistema di numerazione decimale arabo: 10 simboli (0, 1, 2,...9) 383 = 300+80+3 3 x 100 8 x 10 3 x 1 significatività I = 1 V = 5 X = 10 L = 50 NON POSIZIONALI Il significato dei simboli non dipende dalla loro posizione ma è stabilito in base ad una legge additiva dei valori dei singoli simboli (se posti in ordine crescente) ESEMPIO: il sistema di numerazione romano LXIV = 50+10-1+5 = 64 50 10-1 5
Rappresentazione dei Naturali N = 0,1,2, La Notazione Posizionale (in base p) N p a n a n-1 a n-2 a 1 a 0 N p = a n x p n + a n-1 x p n-1 + + a 1 x p + a 0 Esempio (base 10) 543 = 5 x 10 2 + 4 x 10 1 + 3 x 10 0 = 500 + 40 + 3
Rappresentazione dei Naturali N = 0,1,2, La Notazione Additiva (numeri romani) N p a n a n-1 a n-2 a 1 a 0 N p = a n + a n-1 + + a 1 + a 0 I = 1, V = 5, X = 10, L = 50, C = 100, D = 500, M = 1000 Esempio DCCCII = D + C + C + C + I + I = 500 + 100 + 100 + 100 + 1 + 1 = 532
Le Notazioni Usate in Informatica Binaria (base 2) a i = 0,1 Ottale (base 8) a i = 0,1,2,3,4,5,6,7 Esadecimale (base 16) a i = 0,1,2,,9,A,B,C,D,E,F Decimale Binaria Ottale Esadec. 10 1010 12 A 124 1111100 174 7C 10/2/2015 30
Codifica e decodifica (Da binario a decimale e viceversa) N 2 = 101010 N 10 = 1 x 2 5 + 0 x 2 4 + 1 x 2 3 + 0 x 2 2 + 1 x 2 1 + 0 x 2 0 = 32 + 8 + 2 = 42 N 2 = 11011 N 10 = 2 0 + 2 1 + 2 3 + 2 4 = 1 + 2 + 8 + 16 = 27 10/2/2015 31
Codifica e decodifica (Da decimale a binario) N 10 = 51 N 2 =??? 51 2 1 25 2 1 12 2 6 N 2 = 110011 0 2 0 3 2 1 1 2 1 0 51 = 2x25+1 = 2x(2x12+1)+1 = 2x(2x(2x6+0)+1)+1 = = 2x(2x(2x(2x3+0)+0)+1)+1 = = 2x(2x(2x(2x(2x1+1)+0)+0)+1)+1 = 2 5 +2 4 +2 1 +2 0 10/2/2015 32