1 / 44

La rappresentazione delle informazioni

La rappresentazione delle informazioni. Che cosa è un’informazione?. Aspetti dell’informazione. Quando abbiamo a che fare con informazione di qualunque tipo distinguiamo: contenuto (messaggio/ significato ) modalità espressiva (codifica/ significante ) supporto materiale. Il numero dieci.

Download Presentation

La rappresentazione delle informazioni

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. La rappresentazione delle informazioni

  2. Che cosa è un’informazione?

  3. Aspetti dell’informazione Quando abbiamo a che fare con informazione di qualunque tipo distinguiamo: • contenuto (messaggio/significato) • modalità espressiva (codifica/significante) • supporto materiale

  4. Il numero dieci 10 (dieci nella numerazione araba) X (dieci nella numerazione romana)           10

  5. Analogico versus digitale Omino perplesso

  6. Analogico versus digitale: una definizione • Analogico: basato sulla similitudine tra il mezzo di rappresentazione e l'informazione rappresentata • Digitale: basato su una rappresentazione simbolica (discreta) dell'informazione

  7. Esempi • Orologio a lancette/ orologio a cifre • il disco di vinile/ il CD • il telefono tradizionale/ la linea ISDN

  8. Codifica di informazioni discrete A = alfabeto = insieme finito di simboli = {a,b,c,…} parola = sequenza finita di simboli di A = 1 … n esempio: “aabcedc” è una parola di n = 7 simboli A* = insieme di tutte le parole finite su A informazioni codifica

  9. Esempio: codifica binaria A = {0,1} La lampadina è spenta accesa 0 1 Siamo in primavera estate autunno inverno 00 01 10 11

  10. Quante informazioni posso rappresentare con n simboli di un alfabeto di k simboli? Quante sono le parole di lunghezza n se A ha k simboli? Data la parola s = x1 … xn-1 esistono k parole della forma x1 … xn-1 y con y A

  11. perciò se le parole di lunghezza n-1 sono m, allora quelle di lunghezza n sono m  k. Facendo variare m: • m = 1 allora k; • m = 2 allora k  k; … in generale, se m = n k  …  k (n volte) = kn In conclusione: con un alfabeto di ksimboli posso rappresentare kninformazioni con parole di lunghezza n

  12. Esercizio • L’alfabeto A contine i simboli a, b, c: quante informazioni posso codificare con parole di lunghezza 4? 34 = 81

  13. Rappresentazione delle informazioni all’interno degli elaboratori • L’entità minima di informazione all’interno di un elaboratore prende il nome di bit (binary digit - cifra binaria). Mediante un bit possiamo rappresentare due informazioni • Rappresentazione binaria (o digitale). Il linguaggio di base mediante il quale ogni informazione deve essere codificata è costituito da due soli simboli: (0 e 1)

  14. Le ragioni di questa scelta sono prevalentemente di tipo tecnologico, infatti i due simboli corrispondono a: • due stati di polarizzazione di una sostanza magnetizzabile; • due stati di carica elettrica di una sostanza;al passaggio/non passaggio di corrente attraverso un cavo conduttore; • al passaggio/non passaggio di luce attraverso un cavo ottico

  15. Unità di Misura: bit, Byte, … 1 bit = parola su {0,1} di lunghezza unitaria 1 byte = parola su {0,1} di lunghezza 8 1 Kbyte = 210 = 1024 byte 1 Mbyte = 1024 Kbyte (un milione di byte circa) 1 Gbyte = 1024 Mbyte (un miliardo di byte circa) 1 Tbyte = 1024 Gbyte (mille miliardi di byte circa)

  16. Codifica binaria Con una sequenza di n bit possiamo rappresentare 2n informazioni Viceversa: se devo rappresentare k> 1 informazioni diverse, quanti bit sono necessari? Ho bisogno di un numero di bit n tale che 2nk Questo numero è log2k

  17. k log2k 2 1 3 2 4 2 5 3 6 3 7 3 8 3 9 4 16 4 17 5 32 5 33 6

  18. Esercizio • Quanti bit sono necessari per codificare i giorni della settimana? • I giorni della settimana sono 7: ho bisogno di 3 bit

  19. La codifica dei caratteri • L’obiettivo è quello di comunicare con il calcolatore usando il nostro linguaggio. Dobbiamo rappresentare le lettere dell’alfabeto • L’insieme di simboli comunemente usati nell’alfabeto anglosassone, incluse le cifre numeriche, lettere maiuscole e minuscole, simboli di punteggiatura, parentesi e operatori aritmetici, può essere codificato usando 7 bit (27 = 128) • Il metodo di codifica più diffuso tra i produttori di hardware e di software prende il nome di codice ASCII (American Standard Code for Information Interchange)

  20. La codifica dei caratteri: Il codice ASCII 0000000 NUL 0001110 SO 0011100 FS 0000001 SOH 0001111 SI 0011101 GS 0000010 STX 0010000 DLE 0011110 RS 0000011 ETX 0010001 DC1 0011111 US 0000100 EOT 0010010 DC2 0100000 SP 0000101 ENQ 0010011 DC3 0100001 ! 0000110 ACK 0010011 DC4 0100010 " 0000111 BEL 0010101 NAK 0100011 # 0001000 BS 0010110 SYN 0100100 $ 0001001 HT 0010111 ETB 0100101 % 0001010 NL 0011000 CAN 0100110 & 0001011 VT 0011001 EM 0100111 ' 0001100 NP 0011010 SUB 0101000 ( 0001101 CR 0011011 ESC 0101001 )

  21. La codifica dei caratteri: Il codice ASCII 0101010 * 0111001 9 1000111 G 0101011 + 0111010 : 1001000 H 0101100 , 0111011 ; 1001001 I 0101101 - 0111100 < 1001010 J 0101110 . 0111101 = 1001011 K 0101111 / 0111110 > 1001100 L 0110000 0 0111111 ? 1001101 M 0110001 1 1000000 @ 1001110 N 0110010 2 1000001 A 1001111 O 0110011 3 1000010 B 1010000 P 0110100 4 1000011 C 1010001 Q 0110101 5 1000100 D 1010010 R 0110110 6 1000101 E 1010011 S 0111000 8 1000110 F 1010100 T

  22. La codifica dei caratteri: Il codice ASCII 1010101 U 1100011 c 1110001 q 1010110 V 1100100 d 1110010 r 1010111 W 1100101 e 1110011 s 1011000 X 1100110 f 1110100 t 1011001 Y 1100111 g 1110101 u 1011010 Z 1101000 h 1110110 v 1011011 [ 1101001 i 1110111 w 1011100 \ 1101010 j 1111000 x 1011101 ] 1101011 k 1111001 y 1011110 ^ 1101100 l 1111010 z 1011111 _ 1101101 m 1111011 { 1100000 ` 1101110 n 1111100 ¦ 1100001 a 1101111 o 1111101 } 1100010 b 1110000 p 1111110 ~ 1111111 DEL

  23. Il codice ASCII Sebbene 7 bit siano sufficienti per codificare l’insieme di caratteri di uso comune, il codice ASCII standard utilizza 8 bit, il primo dei quali è sempre 0 Codifica della parola cane 01100011 01100001 01101110 01100101 c a n e

  24. Problema inverso: decodifica quale testo è codificato da una data sequenza? • si divide la sequenza in gruppi di otto bit (un byte); • si determina il carattere corrispondente ad ogni byte 01101001 01101100 00000000 01110000 01101111 00101110 01101001 01101100 00000000 01110000 01101111 00101110 i lP o .

  25. Altri formati • ECBDIC formato alternativo a 8 bit • UNICODE nuovo standard a 16 bit contiene simboli per la maggiorparte degli alfabeti esistenti (compreso arabo, giapponese, etc…)

  26. Esercizio • Un testo di 400 caratteri occupa 1600 bit, quanti caratteri ha l’alfabeto? • Ogni carattere occupa 1600/400 = 4 bit • con 4 bit posso codificare 24 = 16 caratteri

  27. Rappresentazione dei numeri • La numerazione decimale utilizza una notazione posizionale basata sul numero 10. La sequenza “234” rappresenta il numero 4 x 100 + 3 x 101 + 2 x 102 • La notazione posizionale può essere utilizzata in qualunque altro sistema di numerazione (con base diversa da 10)

  28. Sistemi di numerazione Fissata una base B > 1 cn cn-1 … c1 c0 dove ciascun ci < B, rappresenta il numero r = c0 B0+ c1 B1 +… + cn-1 Bn-1+ cn Bn

  29. Basi usate comunemente • Base decimale B = 10: valori 0,1,2,3,4,5,6,7,8,9 • Base binaria B=2: valori 0,1 • Base ottale B=8: valori 0,1,2,3,4,5,6,7 • Base esadecimale B=16: valori 0,1,…,9,A,B,C,D,E,F

  30. Sistema di numerazione binaria Nel caso binario la sequenza cncn-1 cn-2... c1 c0 (ogni “ci” è la cifra “0” o la cifra “1”) rappresenterà il numero c0 x 20 + c1 x 21 + ... cn-1 x 2n-1 +cn x 2n La sequenza “1011” in base 2 denota il numero 1 x 20 + 1 x 21 + 0 x 22 +1 x 23 = 11 (in base 10) Per evitare ambiguità si usa la notazione 10112 = 1110

  31. Metodo di conversione da base 10 a base 2 Dato k =c0 x 20 + c1 x 21 + ... cn-1 x 2n-1 +cn x 2n siano m il quoziente di k diviso 2 e r il resto, hai che m = c1 x 20 + ... cn-1 x 2n-2 +cn x 2n-1 r = c0 k =2m + c0 c0 {0,1} è l’ultimo bit (il meno significativo) ripeti il procedimento su m determinando in questo modo gli altri bit, fino a che m diventa 0

  32. Esempio 2210 22 = 2  11 + 0 11 = 2  5 + 1 5 = 2  2 + 1 101102 2 = 2  1 + 0 1 = 2  0 + 1 101102 = 1 24 + 0  23 + 1  22 + 1  21+0  20 = 2210

  33. Rappresentazione di un numero intero Consideriamo la base dieci: con tre cifre decimali si possono rappresentare i numeri compresi tra 0 e 999, il numero successivo (1000) richiede una quarta cifra di cui non disponiamo In questo caso si dice che si ha un problema di overflow, ossia si esce dal numero di cifre destinato alla rappresentazione, e si genera un errore perché il numero non può essere rappresentato

  34. Poiché il numero 999 può essere scritto come 103-1 (ossia 1000-1), possiamo enunciare la seguente regola: con N cifre decimali si possono rappresentare i numeri da 0 a 10N-1

  35. Consideriamo la base due: con tre cifre binarie si possono rappresentare i numeri compresi tra 0 e 23-1 (ossia 8-1), possiamo enunciare la seguente regola: con N cifre binarie si possono rappresentare i numeri da 0 a 2N-1 Esempio: numero rappresentazione 0 000 1 001 2 010 3 011 4 100 5 101 6 110 7 111

  36. Aritmetica binaria 0 + 0 = 0 con riporto 0 0 + 1 = 1 con riporto 0 1 + 0 = 1 con riporto 0 1 + 1 = 0 con riporto 1 1 1 0 1  1 1 = 1 1 0 1 1 1 0 1 1 0 0 1 1 1 1 1 1 1 0 1 + 1 1 = 1 0 0 0

  37. 2 + 010 + 3 = 011 = ___ ______ 5 101 *** ERRORE: non basta una sola cifra Overflow nelle operazioni 5 + 101 + 4 = 100 = ___ ______ 9 1001 *** ERRORE: OVERFLOW *** (non può essere codificato con tre bit) Questo problema può essere osservato anche con la rappresentazione decimale 5 + 6 = _____ 11

  38. Rappresentazione dei numeri • Lo stesso numero può essere codificato in modi diversi: ASCII: 370011001100110111 37 BINARIA: 3700100101 (1 byte) • Il primo modo è usato per le comunicazioni con l'esterno (input/output: ingresso/uscita) • Il secondo modo è usato all'interno (per fare i calcoli)

  39. non è possibile usare direttamente le codifiche ASCII: Esempio: Numero ASCII 3 + 00110011 2 = 00110010 ---- ------------- e 01100101 • Esistono dei programmi di conversione che trasformano i numeri da una codifica all'altra

  40. Rappresentazione di numeri razionali in virgola mobile (floating point) Rappresentazione di numeri razionali, esempio 12,5 Abbiamo che 12,5 = 125/10 = 125 * 10-1 = 1250/100 = 1250 * 10-2 possiamo quindi rappresentare 12,5 con la coppia (125, -1)

  41. Si adotta una rappresentazione dei numeri razionali (con segno) del tipo segno  mantissa  baseesponente

  42. Rappresentazione di numeri grandi Esempio: supponiamo di avere a disposizione solo 2byte di dover memorizzare 23.077.130 O si usano più byte o si sacrifica la precisione, adottando una rappresentazione in virgola mobile 23.077.130 = (2.307 x 10.000) + 7.130 = = (2.307 x 104) + 7.130

  43. 2° BYTE 1° BYTE 0 1 0 0 1 0 0 1 0 0 0 0 0 0 1 1 MANTISSA ESPONENTE • Se siamo disposti a trascurare l'ultimo addendo (7.130), possiamo memorizzare il numero dedicando i primi 4 bit all'esponente (il 4 di 104) e i restanti 12 bit al moltiplicatore 2.307 (mantissa)

  44. Codifica standard a 32 bit • 1 bit per il segno dell’esponente • 1 bit per il segno della mantissa • 10 bit per il valore assoluto dell’esponente • 20 bit per il valore assoluto della mantissa Uso di hardware specializzato per operazioni con floating point: coprocessore matematico

More Related