Aspetti dell informazione

Documenti analoghi
CdL in Medicina Veterinaria - STPA AA

Corso di Informatica A (A-L) Corso di Laurea in Scienze e Tecniche Psicologiche a.a 2005/06. Obiettivi del corso. Prof. ssa Maria Luisa Sapino

La rappresentazione delle Informazioni

La codifica dei caratteri di un testo

La rappresentazione delle Informazioni

La codifica dei caratteri di un testo

Per approfondire: La rappresentazione delle informazioni all interno dei computer

La rappresentazione delle informazioni

La rappresentazione delle Informazioni

= = = Codifica dell informazione

Come possiamo rappresentare le informazioni all interno di un sistema di calcolo?

Paolo Bison. Fondamenti di Informatica A.A. 2006/07 Università di Padova

= = =

La codifica dei caratteri

Rappresentazione dei numeri naturali. La codifica associa alle informazioni dell alfabeto sorgente uno o più simboli dell alfabeto codice:

Rappresentazione dell informazione

Programma del corso. Rappresentazione delle Informazioni. Introduzione agli algoritmi. Architettura del calcolatore

La rappresentazione dell informazione

Sistemi di numerazione e rappresentazione dei numeri negli elaboratori

Floating-point: mantissa La mantissa e codicata in modulo e segno su 24 bit, la mantissa e sempre normalizzata nella forma 1:XXXXX si rappresenta solo

Aritmetica dei Calcolatori Elettronici

La codifica dell informazione

Programma del corso. Rappresentazione delle Informazioni. Introduzione agli algoritmi. Architettura del calcolatore

Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale

Programma del corso. Rappresentazione delle Informazioni. Introduzione agli algoritmi. Architettura del calcolatore

Informatica per le lauree STAN a.a. 2001/2002

Informatica per le lauree STAN a.a. 2001/2002

La codifica. dell informazione

Numeri in virgola mobile

La codifica. dell informazione

Rappresentazione di dati: numerazione binaria. Appunti per la cl. 3 Di A cura del prof. Ing. Mario Catalano

La codifica dei numeri

Informatica per le discipline umanistiche 2

Pag. 1. La Rappresentazione e la Codifica delle informazioni (parte 2) Tipi di dati. Informatica Facoltà di Medicina Veterinaria

Laboratorio di Informatica per STAN. a.a. 2003/2004. Prof. Eugenio Moggi. Prima di iniziare. Programma del primo modulo

Laboratorio di Informatica per STAN. a.a. 2003/2004. Informatica. Scienza della rappresentazione e dell elaborazione dell informazione

La codifica dei numeri

Calcolatori Elettronici I

Introduzione al Linguaggio C

Esame di Informatica. Facoltà di Scienze Motorie LE UNITA DI MISURA (1/4) LE UNITA DI MISURA (3/4) LE UNITA DI MISURA (2/4) Lezione 2

La codifica. dell informazione. Tipi di informazione

Informatica. Informatica. Grandezze digitali. Grandezze analogiche

INFORMAZIONI NUMERICHE RAPPRESENTAZIONE DELL INFORMAZIONE

Tipi di dato primitivi

Programma del corso. Rappresentazione delle Informazioni. Introduzione agli algoritmi. Architettura del calcolatore. Elementi di Programmazione

Sistemi di Elaborazione delle Informazioni

Corso di Architettura degli Elaboratori

Rappresentazione delle Informazioni. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni

La codifica. dell informazione

La codifica. dell informazione. Tipi di informazione

Corso di Architettura degli Elaboratori

La codifica. dell informazione. (continua) Codifica dei numeri. Codifica dei numeri. Sono stati pertanto studiati codici alternativi per

La codifica. dell informazione. Codifica dei numeri. (continua) Codifica dei numeri. Codifica dei numeri: il sistema decimale

Rappresentazione dell informazione

Analogico vs. Digitale. LEZIONE II La codifica binaria. Analogico vs digitale. Analogico. Digitale

Informatica. Mario Pavone - Dept. Mathematics & Computer Science - University of Catania. Trasferimento. Ambiente esterno.

Fondamenti di Informatica

Argomenti trattati. Informazione Codifica Tipo di un dato Rappresentazione dei numeri Rappresentazione dei caratteri e di altre informazioni

Enrica Reggiani 31/10/2010 NUMERI E CODICI

FONDAMENTI DI INFORMATICA I Prof. Negri

1-Rappresentazione dell informazione

La codifica binaria. Informatica B. Daniele Loiacono

Informatica. Mario Pavone - Dept. Mathematics & Computer Science - University of Catania. Trasferimento. Ambiente esterno.

Architettura di un elaboratore. Informatica Architettura di un elaboratore 1

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

UD 1.2e: La codifica Digitale dei Numeri CODIFICA DIGITALE DEI NUMERI

Modulo 1: Le I.C.T. UD 1.2e: La codifica Digitale dei Numeri

LA CODIFICA DELLE INFORMAZIONI

Introduzione e Nozioni di Base. Prof. Thomas Casali

Architettura di un elaboratore. Rappresentazione dell informazione digitale

Rappresentazione dell Informazione

Codifica dell Informazione

informazione numerica non-numerica / simbolica codifica binaria Rappresentazione dell informazione Interpretazione dell informazione testo

Rappresentazione dell informazione

La codifica dei numeri

I sistemi di numerazione. Informatica - Classe 3ª, Modulo 1

Introduzione. Introduzione

Architettura degli Elaboratori

La codifica binaria. Fondamenti di Informatica. Daniele Loiacono

Modulo: Elementi di Informatica

Rappresentazione binaria delle informazioni oppure Rappresentazione digitale delle informazioni

Tipi di Informazione

Rappresentazione dell Informazione. Emilio Di Giacomo e Walter Didimo

Codifica dell Informazione

Un ripasso di aritmetica: Rappresentazione decimale - limitazioni

INFORMATICA GENERALE E BASI DI DATI PER ARCHIVI AUDIOVISIVI (PRIMO MODULO) Claudio Piciarelli A.A. 2013/2014

Fondamenti di informatica

LA CODIFICA DELL INFORMAZIONE

Tabella dei codici ASCII standard

Rappresentazione dei Dati

Somma di numeri binari

La rappresentazione delle informazioni

La codifica binaria. Fondamenti di Informatica. Daniele Loiacono

La codifica binaria. Sommario

Codice binario. Codice. Codifica - numeri naturali. Codifica - numeri naturali. Alfabeto binario: costituito da due simboli

Codifica dell informazione

Codifica dell informazione

Transcript:

Aspetti dell informazione Quando abbiamo a che fare con informazione di qualunque tipo distinguiamo: contenuto (messaggio/significato) rappresentazione (codifica/significante) supporto materiale Il numero dieci 10 (dieci nella numerazione araba) X (dieci nella numerazione romana) 10

Significato e significante Pane Cane Analogico/digitale: una definizione Analogico: basato sulla similitudine tra la rappresentazione e l'informazione rappresentata Digitale: basato su una rappresentazione simbolica di informazioni discrete

Esempi Orologio a lancette/ orologio a cifre il disco di vinile/ il CD La fotocamera tradizionale/quella digitale il telefono tradizionale/ la linea ISDN Codifica di informazioni (discrete) A = alfabeto = insieme finito di simboli = {a,b,c, } stringa = sequenza finita di simboli di A esempio: aabcedc è una stringa di n = 7 simboli codifica: funzione che associa in modo 1-1 (iniettivo) una stringa su A ad ogni informazione informazioni codifica A* = insieme di tutte le stringhe su A

Esempio: codifica binaria A = {0,1} La lampadina è Siamo in spenta accesa primavera estate autunno inverno 0 1 00 01 10 11 Quante informazioni posso rappresentare con stringhe di lunghezza n su un alfabeto di k simboli? Esempio A = { } Quante sono le stringhe di lunghezza n se A ha k simboli? Data la stringa s = x 1 x n-1 esistono k stringhe della forma x 1 x n-1 y con y A

perciò se le stringhe di lunghezza n-1 sono m, allora quelle di lunghezza n sono m k. Facendo variare n: n = 1 allora k n = 2 allora k k n = 3 allora k k k in generale le stringhe di lunghezza n saranno: k k (n volte) = k n In conclusione: con un alfabeto di k simboli posso rappresentare k n informazioni con stringhe di lunghezza n Esercizio L alfabeto A = { } : quante informazioni posso codificare con stringhe di lunghezza 5? 4 5 = 1024

Rappresentazione delle informazioni all interno dei computer I computer usano una codifica binaria. L alfabeto e costituito da soli due simboli, indicati convenzionalmente con 0 e 1 L entità minima di informazione (0 e 1) prende il nome di bit (binary digit - cifra binaria). Mediante un bit possiamo rappresentare due informazioni Le ragioni di questa scelta sono prevalentemente di tipo tecnologico, infatti i due simboli corrispondono a: due stati di polarizzazione di una sostanza magnetizzabile; i 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 etc...

Unità di Misura: bit, Byte, 1 bit = stringa su {0,1} di lunghezza unitaria 1 byte = stringa su {0,1} di lunghezza 8 1 KB = 2 10 = 1024 byte 1 MB = 2 20 =1024 Kbyte (un milione di byte circa) 1 GB = 2 30 =1024 Mbyte (un miliardo di byte circa) 1 TB = 2 40 =1024 Gbyte (mille miliardi di byte circa) Codifica binaria Con una sequenza di n bit possiamo rappresentare 2 n informazioni Viceversa: se devo rappresentare k> 1 informazioni diverse, quanti bit sono necessari? Ho bisogno di un numero di bit n tale che 2 n k Questo numero è log 2 k

k log 2 k 2 1 3 2 4 2 5 3 6 3 7 3 8 3 9 4 16 4 17 5 32 5 33 6 Esercizio Quanti bit sono necessari per codificare i giorni della settimana? E i giorni del mese?

Soluzione I giorni della settimana sono 7: ho bisogno di 3 bit I giorni del mese sono al massimo 31: ho bisogno di 5 bit La codifica dei caratteri Dobbiamo rappresentare le lettere dell alfabeto {a,b,c, A,B,C, %, &, (, ), 0,1,2,3,.,;?+,-*,...} 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 (2 7 = 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)

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 0010100 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 ) 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 0110111 7 1000110 F 1010100 T 0111000 8

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 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 Codici ASCII con 1 iniziale sono utilizzati per codificare caratteri speciali, ma la codifica non è standard. Codifica della parola cane 01100011 01100001 01101110 01100101 c a n e

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 011010010110110000000000011100000110111100101110 011010010110110000000000011100000110111100101110 i l P o. Osserva che: La decodifica è possibile (e facile) perchè i caratteri sono codificati con stringhe binarie di lunghezza costante

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 ) MSWINDOWS codifica proprietaria della Microsoft simile a UNICODE Esercizio Un testo di 400 caratteri occupa 1600 bit, quanti caratteri puo avere al massimo l alfabeto?

Soluzione Ogni carattere occupa 1600/400 = 4 bit, quindi con 4 bit posso codificare sino a 2 4 = 16 caratteri Codifica di un documento Un documento può essere formattato: i caratteri hanno una dimensione, uno stile, un font il testo può essere giustificato, avere margini, tabulazioni, centrature, incolonnato etc. Tutte queste caratteristiche possono venire codificate e memorizzate insieme al testo formato solo-testo (text-only) rimuove tutte le informazioni di formattazione aggiuntive

Rappresentazione dei numeri Il codide ASCII codifica anche le cifre decimali la codifica ASCII è troppo costosa in spazio: 24 = 00110010 00110100 non è possibile usare direttamente le codifiche ASCII per le operazioni aritmetiche: Esempio: Numero ASCII 3 + 00110011 2 = 00110010 ---- ------------- e 01100101 Rappresentazione dei numeri La numerazione decimale utilizza una notazione posizionale basata sul numero 10. La sequenza 234 rappresenta il numero 2 x 10 2 + 3 x 10 1 + 4 x 10 0 La notazione posizionale può essere utilizzata in qualunque altro sistema di numerazione (con base diversa da 10)

Sistemi di numerazione Ogni numero può essere rappresentato in qualunque base B > 1 Fissata una base B > 1 c n c n-1 c 1 c 0 dove ciascun c i < B, rappresenta il numero r = c n B n + c n-1 B n-1 + + c 1 B 1 + c 0 B 0 Basi usate comunemente Base decimale B = 10: cifre 0,1,2,3,4,5,6,7,8,9 Base binaria B=2: cifre 0,1 Base ottale B=8: cifre 0,1,2,3,4,5,6,7 Base esadecimale B=16: cifre 0,1,,9,A,B,C,D,E,F

Sistema di numerazione binaria Nel caso binario la sequenza c n c n-1 c n-2... c 1 c 0 (ogni c i è la cifra 0 o la cifra 1 ) rappresenterà il numero c n x 2 n + c n-1 x 2 n-1 +... c 1 x 2 1 +c 0 x 2 0 La sequenza 1011 in base 2 denota il numero 1 x 2 3 + 0 x 2 2 + 1 x 2 1 + 1 x 2 0 = 11 (in base 10) Per evitare ambiguità si usa la notazione 1011 2 = 11 10 Esempio: numero rappresentazione binaria 0 000 1 001 2 010 3 011 4 100 5 101 6 110 7 111

Metodo di conversione da base 10 a base 2 Dato k = c n x 2 n + c n-1 x 2 n-1 +... c 1 x 2 1 +c 0 x 2 0 siano m il quoziente di k diviso 2 e r il resto, hai che m = c n x 2 n-1 + c n-1 x 2 n-2 + + c 1 x 2 0 r = c 0 k = 2m + c 0 c 0 {0,1} è l ultimo bit (il meno significativo) ripeti il procedimento su m determinando in questo modo gli altri bit, fino a che m non e piu divisibile. Esempio 22 10 22 = 11 2+ 0 11 = 5 2 + 1 5 = 2 2 + 1 2 = 1 2 + 0 10110 2 1 = 0 2 + 1 10110 2 = 1 2 4 + 0 2 3 + 1 2 2 + 1 2 1 + 0 2 0 = 22 10

Esercizio Esercizio: convertire in binario il numero 37 soluzione: 37 10 = 100101 2 37 10 = 1 2 5 + 0 2 4 + 0 2 3 + 1 2 2 + 0 2 1 + 1 2 0 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 0 1 + 1 1 = 1 0 0 0 1 1 0 1 1 1 = 1 1 0 1 1 1 0 1 1 0 0 1 1 1

Esercizio Calcola 10011+1101 Soluzione risultato = 100000 = 32

Limiti della rappresentazione di numeri Consideriamo la base dieci: con 3 cifre decimali si possono rappresentare i numeri compresi tra 0 e 999, il numero successivo (1000) richiede una quarta cifra Se si vuole rappresentare 1000 con 3 cifre decimali 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 Poiché il numero 999 può essere scritto come 10 3-1 (ossia 1000-1), possiamo enunciare la seguente regola: con N cifre decimali si possono rappresentare i numeri da 0 a 10 N -1 Consideriamo la base due: con tre cifre binarie si possono rappresentare i numeri compresi tra 0 e 2 3-1 (ossia 8-1), possiamo enunciare la seguente regola: con N cifre binarie si possono rappresentare i numeri da 0 a 2 N -1

Overflow nelle operazioni 2 + 010 + 3 = 011 = 5 101 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 *** ERRORE: non basta una sola cifra Standard per numeri interi Numeri piccoli: 1byte <= 255 Interi: 2-4byte <= 2 32 Interi lunghi: 4-8byte <= 2 64

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) Si adotta una rappresentazione dei numeri razionali (con segno) del tipo segno mantissa base esponente

Rappresentazione di numeri grandi Esempio: supponiamo di avere a disposizione solo 2 bytedi dover memorizzare 23.077.130 (non si può: 2 16 ~ 65.000) 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 10 4 ) + 7.130 Se siamo disposti a trascurare l'ultimo addendo (7.130), possiamo memorizzare il numero dedicando i primi 4 bit all'esponente (il 4 di 10 4 ) e i restanti 12 bit al moltiplicatore 2.307 (mantissa) 1 BYTE 2 BYTE 0 1 0 0 1 0 0 1 0 0 0 0 0 0 1 1 ESPONENTE MANTISSA

Codifica standard a 32 bit 1 bit per il segno dell esponente 1 bit per il segno della mantissa 8 bit per il valore assoluto dell esponente 22 bit per il valore assoluto della mantissa Uso di hardware specializzato per operazioni con floating point: coprocessore matematico Esempio: rappresentazione dei razionali (con base 10) -2 22 x10 255-1x10-255 1x10-255 2 22 1x10 255 0 Numeri Negativi rappresentabili Numeri Positivi rappresentabili

Esercizio Supponi di avere 1 bit per segno mantissa 1 bit per segno esponente 2 bit per esponente e 8 bit per mantissa m e i numeri siano scritti in base 10 come m* 10 e quali sono il minimo e il massimo numero positivo e negativo rappresentabili? osservare le lacune: alcuni numeri non sono rappresentabili Fissando il numero complessivo di bit si hanno due scelte: Meno bit per l esponente, più bit per la mantissa: maggiore precisione intervallo piccolo dei numeri rappresentabili (numeri densi) Più bit per l esponente, meno per la mantissa: minore precisione, intervallo grande dei numeri rappresentabili (numeri sparsi)