La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

La rappresentazione delle informazioni

Presentazioni simili


Presentazione sul tema: "La rappresentazione delle informazioni"— Transcript della presentazione:

1 La rappresentazione delle informazioni
Dr. Francesco Fabozzi Corso di Informatica

2 La matematica degli elaboratori
In un elaboratore l’informazione (numero, testo, immagine, filmato, audio, ecc.) viene rappresentata con dei numeri (cioè con sequenze di cifre) Pertanto l’elaborazione dell’informazione si riduce in ultima analisi a compiere delle operazioni su dei dati numerici Quante cifre ho a disposizione in un elaboratore? Solo due cifre! Il motivo risiede nell’elettronica dell’elaboratore

3 La matematica degli elaboratori
L’elaboratore è un dispositivo elettronico I circuiti elementari che lo compongono hanno solo due possibili stati fisici Stato On / Stato Off A ogni stato fisico è associata una cifra On = 1; Off = 0 Quindi la matematica di un elaboratore utilizza solo 2 cifre (matematica binaria) I numeri saranno sequenze di 0 e 1 Una cifra binaria si chiama bit (binary digit)

4 Bit Il bit (b) può considerarsi l’unità elementare di informazione
Quante informazioni posso rappresentare con un bit? Poiché un bit può assumere solo due valori posso rappresentare solo due informazioni Acceso / Spento (1 / 0) Presente / Assente (1 / 0) Vero / Falso (1 / 0) Alto / Basso (1 / 0)

5 Sequenze di bit Per rappresentare più informazioni devo usare sequenze di bit Esempio: sequenza di due bit Con due bit posso scrivere 4 (= 22) sequenze distinte 00, 01, 10, 11 Quindi posso rappresentare al massimo 4 informazioni Esempio: i colori di un semaforo Verde (00), Giallo (01), Rosso (10)

6 Sequenze di bit Con 3 bit posso scrivere 8 ( = 23) sequenze distinte
000, 001, 010, 011, 100, 101, 110, 111 Quindi con tre bit posso rappresentare al massimo 8 informazioni Regola generale: con n bit posso codificare al massimo 2n informazioni Codificare un informazione = associare un’informazione a una sequenza di bit

7 Byte e Word Un sequenza di 8 bit viene detta Byte (B)
Con un Byte posso codificare 256 informazioni Esempio: tutti i caratteri alfanumerici (numeri, lettere, segni di interpunzione) sono codificati in un elaboratore utilizzando un Byte Si chiama Word una sequenza di bit (tipicamente un multiplo del Byte) su cui un certo elaboratore esegue operazioni elementari Possiamo avere Word a 8, 16, 32 o 64 bit

8 Byte e Word bit Byte 1 16 bit- Word 1 1 32 bit- Word 1 1 1 1

9 kB, MB, GB, TB La memoria occupata dalle informazioni si misura nel numero di Byte necessari per rappresentarle. Ad esempio: Un file di testo occupa circa un migliaio di Byte Un file di immagine occupa circa un milione di Byte Dagli esempi risulta che è più comodo usare multipli del Byte I simboli sono simili a quelli del sistema metrico decimale (k, M, G, T) ma il significato è leggermente diverso

10 kB, MB, GB, TB Dalla tabella 1kB = 1 KiloByte = 1024 Byte ~ 103 Byte
1MB = 1 MegaByte = 1024 kB ~ 106 Byte 1GB = 1 GigaByte = 1024 MB ~ 109 Byte 1TB = 1 TeraByte = 1024 GB ~ 1012 Byte Multiplo Sigla Valore Valore approssimato Kilo k 210 = 1024 ~103 Mega M 220 = 1024k ~106 Giga G 230 = 1024 M ~109 Tera T 240 = 1024 G ~1012

11 Oltre il sistema decimale
La matematica che usiamo correntemente è decimale Basata su 10 simboli (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) Ciò nasce dal fatto che la nostra civiltà usa per contare le 10 dita delle mani Ma posso avere anche altri sistemi di numerazione che si differenziano per il numero di simboli usati Sistema binario, ottale, esadecimale, … Le regole di calcolo apprese per il sistema decimale si applicano anche agli altri sistemi

12 Sistemi numerici In un sistema di numerazione il numero di cifre utilizzato si chiama base del sistema Sistema binario = sistema in base 2 Sistema ottale = sistema in base 8 Sistema esadecimale = sistema in base 16 La numerazione in un sistema non decimale è uguale a quella nel sistema decimale I primi numeri sono rappresentati nell’ordine dai simboli disponibili Esauriti i simboli disponibili, si aggiunge una seconda cifra alla sinistra, mentre la prima cifra ritorna su tutti i possibili valori, e così via

13 Numerazione Decimale Binario Ottale Esadecimale 1 2 10 3 11 4 100 5
1 2 10 3 11 4 100 5 101 6 110 7 111 8 1000 9 1001 1010 12 A 1011 13 B 1100 14 C 1101 15 D 1110 16 E 1111 17 F

14 Sistemi posizionali I sistemi numerici visti sono posizionali
Il valore assunto da una cifra dipende dalla posizione in cui si trova nel numero Infatti questo valore è uguale alla cifra moltiplicata per un fattore (peso) che dipende dalla posizione della cifra stessa nel numero peso = ( base )posizione dove posizione = 0, 1, 2, …

15 Sistemi posizionali La posizione si indica con un numero intero che parte da 0 0 corrisponde alla posizione della cifra più a destra Quindi: La cifra più a destra è quella con il peso più basso (=1) Cifra meno significativa (LSB = Least Significant Bit) La cifra più a sinistra è quella con il peso più alto Cifra più significativa (MSB = Most Significant Bit) Il valore totale di un numero è uguale alla somma dei valori associati ad ogni cifra

16 Sistemi posizionali Esempio: numero 524 in base 8 e 10
In base 10: 524 = 5 centinaia + 2 decine + 4 unità 5    1 Pesi in base 10  102 101 100 Pesi in base 8  82 81 80 In base 8: = 5    80 = 340

17 Conversione da base 10 a base n
Metodo delle divisioni successive Esempio: convertiamo il numero 3410 a base 2 Divisione Quoziente Resto 34:2 17 0LSB 17:2 8 1 8:2 4 4:2 2 2:2 1:2 1MSB 3410 =

18 Conversione da base 2 a base 8
Si raggruppano le cifre a 3 a 3 a partire da destra e si convertono nel simbolo ottale Infatti con tre cifre binarie conto fino a 7 Se necessario si aggiungono zeri a sinistra Esempio: convertiamo il numero in ottale 1 | 100 | 101 | 111  001 | 100 | 101 | 111 1 4 5 7 = 14578

19 Conversione da base 2 a base 16
Si raggruppano le cifre a 4 a 4 a partire da destra e si convertono nel simbolo esadecimale Infatti con 4 cifre binarie conto fino a 15 Se necessario si aggiungono zeri a sinistra Esempio: convertiamo il numero in esadecimale 11 | 0010 | 1111  0011 | 0010 | 1111 3 2 F = 32F16

20 Conversione da base 8 (16) a base 2
Si invertono le regole precedenti Si converte ogni cifra ottale in 3 cifre binarie Si converte ogni cifra esadecimale in 4 cifre binarie Esempio: convertiamo il numero A73F16 in binario A | | | F 1010 0111 0011 1111 A73F16 =

21 Aritmetica binaria Stesse regole del calcolo in decimale
Vediamo la somma binaria Somma di due bit Somma Risultato Riporto 0+0 0+1 1 1+0 1+1 Esempio: sommiamo in binario 10 e 11 ( = 21): =

22 Numeri binari relativi
Per rappresentare interi con un segno si possono usare diverse tecniche Metodo più semplice:aggiungere un bit a sinistra per rappresentare il segno 0 = numero positivo, 1 = numero negativo Quindi se ho a disposizione 8 bit, 7 bit rappresentano il modulo e un bit rappresenta il segno Problemi: esiste un doppio 0 e la somma di due numeri relativi non dà sempre risultato corretto  +10 1 Nota: Solo 7 bit usati per il modulo  con 8 bit rappresento da -127 a +127 1  10

23 Numeri binari relativi
Altre tecniche Complemento alla base Un numero negativo di modulo N è rappresentato con n cifre dal numero 2n-N Esempio: numero -5 con 4 cifre  16-5 = 11  1011 Non esiste doppio 0 Con 8 bit rappresento da -128 a +127 Sommo correttamente due numeri relativi Eccesso M Fissato M, il numero relativo N viene rappresentato dal numero N+M Esempio: eccesso 8: +5  1101; -5  0011 +5 – 5 = 0000 (corretto, perché mi limito a 4 cifre)

24 Numeri frazionari Quando si ha a che fare con numeri frazionari sorge il problema di rappresentare numeri molto grandi o molto piccoli senza eccedere col numero di bit Si usa la notazione in virgola mobile (floating point) Il numero viene scritto come prodotto di un numero (mantissa) per la base elevata a una certa potenza Esempio1: = Esempio2: =

25 Numeri frazionari Utilizzando la notazione floating point, poiché la base è fissata ( = 2) devo solo rappresentare segno, mantissa ed esponente L’esponente è rappresentato in eccesso M In base 2 la mantissa è sempre del tipo 1.F Quindi basta rappresentare solo F Esempio: se l’elaboratore rappresenta i dati con 32 bit 1 bit per il segno del numero 8 bit per l’esponente 23 bit per la mantissa

26 Precisione della rappresentazione
La precisione della rappresentazione di un numero è data dal numero di bit usati per rappresentarlo N = (-1)S ·1.F ·2E+M Campo Singola precisione Doppia precisione Quadrupla precisione Bit totali 32 64 128 S 1 E 8 11 15 F 23 52 111 E max 255 2047 32767

27 Esempio Rappresentazione di un numero N in singola precisione
1) Esprimiamo il numero in notazione scientifica N =  ·27 2) Bit di segno S = 1 3) Rappresentazione dell’esponente E in eccesso M = 128 E = = 135 = 4) Rappresentazione della mantissa F F =

28 Variabili booleane Una variabile booleana è una variabile che può assumere solo due valori vero / falso (detti “valori di verità” della variabile) Una variabile booleana è rappresentabile con un bit Ad esempio: 1= vero; 0 = falso

29 Funzioni booleane Posso anche avere funzioni di variabili booleane
I valori di verità che una funzione assume in dipendenza dei possibili valori di verità delle variabili sono espressi mediante tabelle di verità

30 Funzioni NOT, OR, AND Semplici funzioni booleane caratterizzate dalle seguenti tabelle di verità: Funzione NOT ( ¯ ) Funzione OR ( + ) Funzione AND ( · ) A Ā 1 A B A+B 1 A B A·B 1

31 Codice ASCII Esiste uno standard internazionale per la codifica binaria dei caratteri alfanumerici che compaiono in un testo: codice ASCII Standard determinato dall’ANSI (organismo di standardizzazione internazionale) Un carattere è codificato con 7 bit Posso rappresentare fino a 128 caratteri (ASCII standard) Con un bit aggiuntivo codifico altri 128 caratteri Codici ASCII estesi (non standard)

32 Stringhe Una stringa è una successione ordinata di caratteri alfanumerici Parole, frasi, testi sono delle stringhe Esempio: “Oggi è una bella giornata” è una stringa di 26 caratteri NOTA: nel calcolo dei caratteri abbiamo considerato anche gli spazi bianchi e un carattere di fine stringa o g i è u n a b e l r t \0 \0 = carattere di fine stringa

33 Codifica di stringhe Una stringa è codificata come una sequenza di byte Un byte per ogni carattere alfanumerico codificato in ASCII Ma occorrono anche dei byte aggiuntivi Indicano la lunghezza della stringa o il carattere di fine stringa Vi possono essere dei byte aggiuntivi per codificare le informazioni di formattazione (font dei caratteri, grandezza dei caratteri, ecc.)

34 Codifica di vettori Si dice vettore (array) una sequenza ordinata di oggetti di uno stesso tipo E’ la generalizzazione del concetto di stringa Esempio: i risultati del compito scritto di Fisica (9 studenti partecipanti) possono essere organizzati in un vettore di 9 numeri: # studente 1 2 3 4 5 6 7 8 9 voto 22 18 28 25 30 12 20 21 Si può avere anche un vettore di vettori (vettori multidimensionali)

35 Analogico e digitale Una quantità analogica è una quantità che può assumere tutti gli infiniti valori contenuti in un certo intervallo Una quantità digitale è una quantità che può assumere solo un numero discreto di valori Esempi di quantità digitali: Un numero intero, un carattere codificato in ASCII, il tempo segnato da un cronometro digitale

36 Analogico e digitale Esempio di quantità analogica: la temperatura di una stanza nell’arco di una giornata varia con continuità in un certo intervallo di temperatura

37 Analogico e digitale Esempio di quantità analogica: un’onda sonora
Segnale elettrico (registrato con un microfono) che rappresenta la voce umana

38 Digitalizzazione dell’informazione
L’informazione in un computer viene immagazzinata in formato digitale Problema: come faccio a fare in modo che un computer possa operare su una quantità analogica (ad esempio il suono)? Necessità di digitalizzare l’informazione analogica (conversione analogico-digitale)

39 Digitalizzazione dell’informazione
Riprendiamo l’esempio della temperatura nella stanza Procedura di campionamento: ogni ora misuro la temperatura della stanza Segnale analogico Le temperature ad ogni ora formano un insieme discreto di 24 valori che possono essere codificati con numeri binari e immagazzinati nella memoria del computer campionamento Segnale digitale

40 Codifica audio Campionamento del suono
Operazione simile all’esempio della temperatura: prelevo un campione di segnale analogico ad intervalli di tempo regolari Ovviamente l’operazione va fatta a una frequenza maggiore di quella del segnale da campionare L’operazione di campionamento produce una serie di valori numerici in uscita Questi valori sono memorizzati in file audio (ad esempio file .mp3) Per poter ascoltare il suono a partire dal file occorre un dispositivo che fa l’operazione inversa (convertitore digitale-analogico)

41 Codifica di immagini Per digitalizzare un’immagine si divide l’immagine stessa in una griglia di punti detti pixel (picture element) Ad ogni pixel viene associata una sequenza di byte che codificano la posizione del punto nell’immagine e il suo colore Se aumenta il numero di pixel o la gamma dei colori che voglio riprodurre deve aumentare il numero di bit necessari per rappresentare queste informazioni

42 Codifica di immagini Con 1 bit posso riprodurre solo immagini in bianco e nero (senza sfumature di grigio) Quanti colori posso riprodurre con 24 bit? Risposta: 224 colori = 16.8 milioni di colori Il numero di pixel determina la risoluzione dell’immagine (cioè il livello di dettaglio) Maggiore è la risoluzione e più è possibile ingrandire l’immagine senza perdere in qualità Esempi di risoluzioni tipiche: 800x600, 1024x768

43 Codifica di immagini Aumento della risoluzione

44 Codifica di immagini Domanda: quanta memoria occupa un’immagine con risoluzione 1024x768 e che utilizza una profondità di colore di 8 bit? Risposta: 1024 x 768 x 1 Byte = 768 KB Questo tipo di immagine si chiama Bit Mapped (mappa di bit) ed il relativo file ha estensione .bmp I file .bmp occupano molta memoria per cui sono stati introdotti dei formati compressi Formato GIF (file con estensione .gif) Formato JPEG (file con estensione .jpg)

45 Controllo dell’errore
Nella trasmissione o memorizzazione di dati sono necessarie tecniche per il controllo di eventuali errori Una semplice tecnica è quella del bit di parità Ad ogni Byte viene aggiunto un bit tale da rendere pari il numero complessivo di 1 nel Byte Se in ricezione o lettura trovo un numero dispari di 1 vuol dire che c’e’ stato un errore Il metodo funziona solo per errori singoli Per individuare l’errore (e correggerlo) è necessario un ulteriore Byte di parità

46 Bit di parità 1 1 Individuazione dell’errore Bit di parità
1 1 Byte di parità


Scaricare ppt "La rappresentazione delle informazioni"

Presentazioni simili


Annunci Google