Corso di Informatica Scienza e Tecnologia per i Beni Culturali Scienze e Turismo Alpino a.a 2003/04 Prof. Nicola Olivetti Dip. Informatica Univ.Torino.

Slides:



Advertisements
Presentazioni simili
Rappresentazioni numeriche
Advertisements

Informatica Generale Susanna Pelagatti
Rappresentazione di Numeri Reali
Rappresentazione dei dati e codifica delle informazioni
Rappresentazioni numeriche
Le Informazioni e la loro Rappresentazione nei calcolatori
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,
Sistemi di numerazione e codici
1 © 1999 Roberto Bisiani Rappresentazione delle informazioni n Occorre un codice n Legato alla tecnologia usata Robustezza Semplicita Economicita.
Sistema di numerazione binario
1 Sistemi Digitali. 2 Definizione Analog Waveform Time Voltage (V) 0 5 Digital Waveform Time Voltage (V)
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.
Corso di Informatica per Giurisprudenza
Università degli Studi di Siena
ANALOGICO e DIGITALE 10°C
La rappresentazione dellinformazione. 7-2 Digitalizzare linformazione Digitalizzare: rappresentare linformazione per mezzo di cifre (ad es: da 0 a 9)
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.
Rappresentazione di Numeri Reali
1 © 1999 Roberto Bisiani Rappresentazione delle informazioni n Occorre un codice n Legato alla tecnologia usata Robustezza Semplicita Economicita.
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)
RAPPRESENTAZIONE DELL'INFORMAZIONE
Che cos’è un sistema di numerazione?
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
I computer vengono utilizzati per automatizzare la soluzione di problemi di varia natura trattando le informazioni in entrata (DATI) eseguendo gli opportuni.
La rappresentazione delle informazioni in un computer
Rappresentazione dell’informazione nel calcolatore.
Rappresentazione Dati Codificare informazioni nel Computer
Informatica Docente : Jeremy Sproston Orario: Gruppo 1: (gli studenti i cui cognomi iniziano con la lettera A fino alla lettera L (inclusi)) Lunedì ore.
Codifica dell’informazione
Informatica Lezione 3 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Informatica Lezione 1 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
Corsi di Laurea in Biotecnologie
INFORmazione autoMATICA
Rappresentazione delle informazioni negli elaboratori
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dell’informazione Marco D. Santambrogio – Ver. aggiornata al 11.
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
Rappresentazione in virgola mobile (floating-point) Permette di rappresentare numeri con ordini di grandezza molto differenti utilizzando per la rappresentazione.
Fondamenti di Informatica
La Rappresentazione dell’Informazione
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Rappresentazione dell'informazione
AUTRONICA9.1 Autronica LEZIONE N° 9 Conversione da base 2 a base 8Conversione da base 2 a base 8 Conversione da base 2 a base 16Conversione da base 2 a.
Rappresentazione dell'informazione 1 Se ho una rappresentazione in virgola fissa (es. su segno e 8 cifre con 3 cifre alla destra della virgola) rappresento.
La codifica dei numeri.
Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Conversione binario-ottale/esadecimale
Informatica Lezione 3 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
Codifica dei numeri Il codice ASCII consente di codificare le cifre decimali da “0” a “9” fornendo in questo modo una rappresentazione dei numeri Per esempio:
Codifica binaria dell’informazione
Rappresentazione dei numeri
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dell’informazione Marco D. Santambrogio – Ver. aggiornata al 11.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dell’informazione Marco D. Santambrogio – Ver. aggiornata al 24.
I sistemi di numerazione
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Numeri con segno ed in virgola Marco D. Santambrogio – Ver. aggiornata al 20 Marzo.
La numerazione ottale. Il sistema di numerazione ottale ha ampio utilizzo in informatica E’ un sistema di numerazione posizionale La base è 8 Il sistema.
Un codice è costituito da un alfabeto (insieme di simboli) parole (combinazioni di simboli validi) nel computer tutti i codici usano come alfabeto le cifre.
1 Sistemi di Numerazione –Tutti i sistemi di numerazione sono fondati sullo stesso principio: la “base” (b) è un numero intero maggiore di 1; la base corrisponde.
CODIFICA DATI/ISTRUZIONI Nel calcolatore tutta l’informazione e’ codificata in binario (sequenza di 0,1) Perche’ il calcolatore e’ formato da componenti.
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:

Corso di Informatica Scienza e Tecnologia per i Beni Culturali Scienze e Turismo Alpino a.a 2003/04 Prof. Nicola Olivetti Dip. Informatica Univ.Torino C.so Svizzera 185,Torino tel: 011/ home: sito del corso:

Obiettivi del corso Basi dell’informatica: l codifica dell’informazione l hardware: struttura di un computer l software: sistemi operativi l comunicazione tra computer, reti di computer (internet)

Obiettivi del corso (segue) Software applicativo di base per l videoscrittura l presentazioni l fogli elettronici l database l navigazione in internet l Esercitazioni in laboratorio

Testi per il corso Testi adottati: l L. Console, M. Ribaudo, Introduzione all'informatica, Torino Utet libreria, 1997 In alternativa: l D.Sciuto, G. Buonanno,W. Fornaciari, L. Mari. Introduzione ai sistemi informatici, Mc Graw Hill, 2002 Altri testi: l D. P. Curtin, K. Foley, K. Sen, C. Morin Informatica di base, Mc Graw Hill, 2002 l S. Grandi, E. Bonechi, Informatica Zero, Apogeo, l M. Calvo, F. Ciotti, Internet 2004, Laterza, 2004 l P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone, Basi di Dati, McGraw- Hill, 1996

La codifica delle informazioni Lezione 1

Che cosa è un’informazione?

Aspetti dell’informazione Quando abbiamo a che fare con informazione di qualunque tipo distinguiamo: l contenuto (messaggio/significato) l rappresentazione (codifica/significante) l supporto materiale

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

Significato e significante PaneCane

Analogico versus digitale Omino perplesso

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 l Orologio a lancette/ orologio a cifre l il disco di vinile/ il CD l La fotocamera tradizionale/quella digitale l 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 A* = insieme di tutte le stringhe su A codifica

Esempio: codifica binaria A = {0,1} spenta accesa 0101 La lampadina è primavera estate autunno inverno Siamo in

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: l n = 1 allora k l n = 2 allora k  k … l 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 L’alfabeto A = {    } : quante informazioni posso codificare con stringhe di lunghezza 5? 4 5 = 1024

Rappresentazione delle informazioni all’interno dei computer l I computer usano una codifica binaria. l L’alfabeto e’ costituito da soli due simboli, indicati convenzionalmente con 0 e 1 l 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: l due stati di polarizzazione di una sostanza magnetizzabile; l i due stati di carica elettrica di una sostanza l al passaggio/non passaggio di corrente attraverso un cavo conduttore; l al passaggio/non passaggio di luce attraverso un cavo ottico l 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 

Esercizio l Quanti bit sono necessari per codificare i giorni della settimana? E i giorni del mese? l I giorni della settimana sono 7: ho bisogno di 3 bit l I giorni del mese sono al massimo 31: ho bisogno di 5 bit

La codifica dei caratteri l Dobbiamo rappresentare le lettere dell’alfabeto {a,b,c, …A,B,C, %, &, (, ),…0,1,2,3,.,; ?+,-*,...} l 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) l 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 NUL SO FS SOH SI GS STX DLE RS ETX DC US EOT DC SP ENQ DC ! ACK DC " BEL NAK # BS SYN $ HT ETB % NL CAN & VT EM ' NP SUB ( CR ESC )

La codifica dei caratteri: Il codice ASCII * G : H , ; I < J = K / > L ? M A O B P C Q D R E S F T

La codifica dei caratteri: Il codice ASCII U c q V d r W e s X f t Y g u Z h v [ i w \ j x ] k y ^ l z _ m { ` n ¦ a o } b p ~ 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 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 i l P o.

Osserva che: La decodifica è possibile (e facile) perchè i caratteri sono codificati con stringhe binarie di lunghezza costante

Altri formati l ECBDIC formato alternativo a 8 bit l UNICODE nuovo standard a 16 bit contiene simboli per la maggiorparte degli alfabeti esistenti (compreso arabo, giapponese, etc…) l MSWINDOWS codifica proprietaria della Microsoft simile a UNICODE

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

Codifica di un documento l 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. l Tutte queste caratteristiche possono venire codificate e memorizzate insieme al testo l formato solo-testo (text-only) rimuove tutte le informazioni di formattazione aggiuntive

Il codide ASCII codifica anche le cifre decimali l la codifica ASCII è troppo costosa in spazio: 24 = l non è possibile usare direttamente le codifiche ASCII per le operazioni aritmetiche: Esempio: Numero ASCII = e Rappresentazione dei numeri

l La numerazione decimale utilizza una notazione posizionale basata sul numero 10. La sequenza “234” rappresenta il numero 2 x x x 10 0 l 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 l Base decimale B = 10: cifre 0,1,2,3,4,5,6,7,8,9 l Base binaria B=2: cifre 0,1 l Base ottale B=8: cifre 0,1,2,3,4,5,6,7 l 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 c 1 x c 0 x 2 0 La sequenza “1011” in base 2 denota il numero 1 x x x x 2 0 = 11 (in base 10) Per evitare ambiguità si usa la notazione = 11 10

Esempio: numerorappresentazione binaria

Metodo di conversione da base 10 a base 2 Dato k = c n x 2 n + c n-1 x 2 n c 1 x 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 diventa 0

Esempio = 11  = 1      2 0 = = 1  = 0  = 2  = 5  2 + 1

Esercizio l Esercizio: convertire in binario il numero 37 l soluzione: = = 1       2 0

Conversioni decimale-ottale decimale-esadecimale Per le conversioni decimale-ottale, decimale- esadecimale, si usano esattamente gli stessi metodi: l = 9 x l 9 = 1 x l 1 = 0 x = verifico: 1x x x 8 0 = l = 4 x l 4 = 0 x = 4B 16 verifico: 4 x x 16 0 = 75 10

Conversioni binario-ottale Sono Facili! l Binario --> ottale raggruppiamo i bit in gruppi di 3 a partire da destra e convertiamo ciascuna tripletta in una cifra (< 8) Es: = = l ottale --> binario processo inverso: codifica in binario ogni cifra ottale con tre bit

Conversioni binario-esadecimale Altrettanto Facili! l Binario --> esadecimale raggruppiamo i bit in gruppi di 4 a partire da destra e convertiamo ciascuna quadrupla in una cifra (< 16) Es: = 7B 16 = l esadecimale --> binario processo inverso: codifica in binario ogni cifra esadecimale con quattro bit

Esercizio l Converti in ottale e in esadecimale il seguente numero binario: = 1452 ottale = 32A esadecimale = 810 decimale

Aritmetica binaria = 0 con riporto = 1 con riporto = 1 con riporto = 0 con riporto =  1 1 =

Esercizio l Calcola l risultato = = 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 (ossia ), 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 (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 =011 = ___ ______ = 100 = ___ ______ *** ERRORE: OVERFLOW *** (non può essere codificato con tre bit) Questo problema può essere osservato anche con la rappresentazione decimale = _____ 11 *** ERRORE: non basta una sola cifra

Standard per numeri interi l Numeri piccoli: 1byte <= 255 l Interi: 2-4byte <= 2 32 l 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 * = 1250/100 = 1250 * 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 byte di dover memorizzare (non si può: 2 16 ~ ) O si usano più byte o si sacrifica la precisione, adottando una rappresentazione in virgola mobile = (2.307 x ) = = (2.307 x 10 4 )

l 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 (mantissa) ESPONENTE MANTISSA 1° BYTE 2° BYTE

Codifica standard a 32 bit l 1 bit per il segno dell’esponente l 1 bit per il segno della mantissa l 8 bit per il valore assoluto dell’esponente l 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) 0 -1x x x x Numeri Negativi rappresentabili Numeri Positivi rappresentabili

Esercizio l Supponi di avere –1 bit per segno mantissa –1 bit per segno esponente –2 bit per esponente e –8 bit per mantissa m l e i numeri siano scritti in base 10 come m* 10 e l quali sono il minimo e il massimo numero positivo e negativo rappresentabili? l osservare le lacune: i numeri compresi strettamente tra 25,5 e 26 non sono rappresentabili

Fissando il numero complessivo di bit si hanno due scelte: l Meno bit per l’esponente, più bit per la mantissa: –maggiore precisione –intervallo piccolo dei numeri rappresentabili (numeri densi) l Più bit per l’esponente, meno per la mantissa: –minore precisione, –intervallo grande dei numeri rappresentabili (numeri sparsi)