La rappresentazione delle informazioni

Slides:



Advertisements
Presentazioni simili
Dall’informazione al linguaggio macchina
Advertisements

BIT e BYTE il linguaggio del computer
Rappresentazioni numeriche
Informatica Generale Susanna Pelagatti
Informatica Generale Marzia Buscemi IMT Lucca
Fondamenti di Informatica
Rappresentazione di Numeri Reali
Rappresentazioni numeriche
Trasmissione delle informazioni
Codifica dei Dati Idea: vogliamo rappresentare dati eterogenei utilizzando un linguaggio che l’elaboratore puo’ facilmente manipolare Essenzialmente vogliamo.
Vincenza Ferrara dicembre 2007 Fondamenti di Matematica e Informatica Laboratorio Informatica I anno a.a
1 Informatica Generale Susanna Pelagatti Ricevimento: Mercoledì ore presso Dipartimento di Informatica, Via Buonarroti,
1 © 1999 Roberto Bisiani Rappresentazione delle informazioni n Occorre un codice n Legato alla tecnologia usata Robustezza Semplicita Economicita.
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
Informatica 3 Codifica binaria.
A.S.E.6.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 6 Complemento a MComplemento a M Rappresentazione di numeri con segnoRappresentazione di numeri.
A.S.E.5.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 5 Rappresentazione di numeri con segnoRappresentazione di numeri con segno –Modulo e segno (MS)
Corso di Informatica (Programmazione)
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.
Corso di Informatica (Programmazione)
by Vaccaro Maria Antonietta
Corso di Informatica per Giurisprudenza
ANALOGICO e DIGITALE 10°C
1 Sistemi Digitali. 2 Definizione Analog Waveform Time Voltage (V) 0 5 Digital Waveform Time Voltage (V)
Rappresentazioni numeriche. Introduzione Un calcolatore elettronico dispone di uno spazio finito per memorizzare le cifre che esprimono un valore numerico.
La rappresentazione dellinformazione. 7-2 Digitalizzare linformazione Digitalizzare: rappresentare linformazione per mezzo di cifre (ad es: da 0 a 9)
Cos’è un problema?.
Il sistema binario.
Gli esseri viventi ricevono informazione direttamente dal mondo circostante e dai propri simili attraverso i sensi (percezione). La percezione, tuttavia,
Codifica binaria Rappresentazione di numeri
Programma del corso Dati e loro rappresentazione Architettura di un calcolatore Sistemi operativi Linguaggi di programmazione Applicativi: - fogli elettronici.
Usare rappresentazioni di lunghezza fissa porta ad avere valori non rappresentabili: Overflow indica un errore nella rappresentazione del risultato in.
Conversione binario - ottale/esadecimale
Conversione binario - ottale/esadecimale
Rappresentazione di Numeri Reali
Codifica dell’informazione
1 © 1999 Roberto Bisiani Rappresentazione delle informazioni n Occorre un codice n Legato alla tecnologia usata Robustezza Semplicita Economicita.
Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori (Reti Locali, Internet)
Educare al multimediale 1 – Verso il digitale 2 Presentazione a cura di Gino Roncaglia Prima parte: Informazione in formato digitale.
RAPPRESENTAZIONE DELL'INFORMAZIONE
1 Mod. Informatica amica Esperto: prof. G. Sciacca Tutor: prof. R. Paparcone C1 - FSE – 629 Ann
Parte Terza: Codificare l’informazione
Che cos’è un sistema di numerazione?
CONCETTI DI BASE 1.0 FONDAMENTI 1.1 HARDWARE 1.2 SOFTWARE 1.3 RETI
RAPPRESENTAZIONE DELLE INFORMAZIONI
Codifica dell’informazione
La rappresentazione delle informazioni in un computer
Process synchronization
Rappresentazione dell’informazione nel calcolatore.
Codifica dell’informazione
Rappresentazione delle informazioni negli elaboratori
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dell’informazione Marco D. Santambrogio – Ver. aggiornata al 11.
Fondamenti di Informatica1 Memorizzazione su calcolatore L'unità atomica è il bit (BInary DigiT) L'insieme di 8 bit è detta byte Altre forme di memorizzazione:
Rappresentazione della Informazione
Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Rappresentazioni a lunghezza fissa: problemi
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Rappresentazione dell'informazione
La codifica dei numeri.
Conversione binario-ottale/esadecimale
Informatica Lezione 3 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
Codifica binaria dell’informazione
Rappresentazione dei numeri
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dell’informazione Marco D. Santambrogio – Ver. aggiornata al 24.
I sistemi di numerazione
Un codice è costituito da un alfabeto (insieme di simboli) parole (combinazioni di simboli validi) nel computer tutti i codici usano come alfabeto le cifre.
Rappresentazione delle informazioni negli elaboratori L’entità minima di informazione all’interno di un elaboratore prende il nome di bit (binary digit.
Transcript della presentazione:

La rappresentazione delle informazioni Dr. Francesco Fabozzi Corso di Informatica

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

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)

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)

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)

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

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

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

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

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

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

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

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

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, …

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

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

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 = 1000102

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 11001011112 in ottale 1 | 100 | 101 | 111  001 | 100 | 101 | 111 1 4 5 7 11001011112 = 14578

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 11001011112 in esadecimale 11 | 0010 | 1111  0011 | 0010 | 1111 3 2 F 11001011112 = 32F16

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 | 7 | 3 | F 1010 0111 0011 1111 A73F16 = 10100111001111112

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 (10 + 11 = 21): 1 0 1 0 + 1 0 1 1 = 1 0 1 0 1

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

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)

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: 325 000 000 000 = 3.25 1011 Esempio2: 0.000 000 023 = 2.3 10-8

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

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

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

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

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à

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

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)

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

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.)

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)

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

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

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

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)

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

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)

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

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

Codifica di immagini Aumento della risoluzione

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)

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à

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