La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Lezione 2 – A.A. 2016/2017 Prof. Giovanni Acampora

Presentazioni simili


Presentazione sul tema: "Lezione 2 – A.A. 2016/2017 Prof. Giovanni Acampora"— Transcript della presentazione:

1 Lezione 2 – A.A. 2016/2017 Prof. Giovanni Acampora
Informatica Informatica - A.A Lezione 2 – A.A. 2016/2017 Prof. Giovanni Acampora

2 Codifica binaria dell’informazione
Rappresentazioni posizionali Codifica numeri interi Addizione e Overflow Informatica - A.A

3 Cos’è l’informatica ? L’informatica è lo studio degli algoritmi:
delle loro proprietà formali e matematiche delle loro realizzazioni hardware delle loro realizzazioni linguistiche delle loro applicazioni L’informatica è la scienza della rappresentazione e dell’elaborazione dell’informazione Informatica - A.A

4 Che cos’è un algoritmo ? Un insieme ordinato e finito di operazioni non ambigue ed effettivamente calcolabili che, applicate ad un insieme di condizioni iniziali, produce un risultato e termina in una quantità di tempo finita. Informatica - A.A

5 Formalizzazione del concetto di algoritmo: perché?
L’obiettivo è la costruzione di uno o più mezzi di calcolo in grado di eseguire “operazioni primitive” (ovvero effettivamente calcolabili) . Un mezzo di calcolo che esegue operazioni primitive permette di automatizzare una soluzione di un problema espressa da un algoritmo La soluzione di un problema espressa da un algoritmo costituito da sequenze di operazioni primitive può essere automatizzata Programma: la realizzazione di uno o più algoritmi mediante sequenze di operazioni primitive comprensibili all’esecutore Informatica - A.A

6 Informazione+Automatica
Informazione: insieme di entità astratte, che raccolgono ‘conoscenza’ es.: un libro, una sinfonia, un quadro, un insieme di dati relativi agli studenti di un corso di laurea Automatica : implica la Rappresentazione dell’informazione..... es: la scrittura un CD che registra un melodia, un insieme di schede che mantengono le informazioni relative agli studenti ....secondo una opportuna codifica es: le convenzioni di rappresentazione dei caratteri, il formato del CD, la struttura dei campi di una scheda studente Informatica - A.A

7 La rappresentazione dell’ Informazione Numerica
La risoluzione di un problema da parte di una macchina automatica passa attraverso la trasformazione dell’algoritmo in un programma I dati e le istruzioni del programma devono essere codificati (trasformati) in un formato adatto alla memorizzazione e alla elaborazione L’ informazione numerica richiede un supporto fisico Informatica - A.A

8 Esempi di Supporto Fisico
L’ informazione non è legata al supporto fisico Un supporto fisico può immagazzinare o trasmettere informazione se può assumere diverse configurazioni in base alla combinazione di stati elementari. E’ allora necessario produrre una formalizzazione delle possibili configurazioni ed un codice di traduzione! Informatica - A.A

9 Cos’è l’informazione? Finestra Aperta: “Si, stasera esco”
Giulietta e Romeo si accordano per comunicare Finestra Aperta: “Si, stasera esco” Finestra Chiusa: “No, stasera non esco” Un dispositivo con 2 stati (aperta/chiusa), 2 messaggi distinguibili Informatica - A.A

10 ….oops…….e dove ci vediamo?
Cos’è l’informazione ? ...mmmh…potrebbe non essere sufficiente Siiiii…esce stasera…. ….oops…….e dove ci vediamo? Informatica - A.A

11 Cos’è l’informazione ? “Si, ci vediamo alla chiesa”
“Si, ci vediamo al teatro” “No, non esco” “Esco con un altro!!” 2 dispositivi, 4 configurazioni, 4 messaggi distinguibili Informatica - A.A

12 Cos’è l’informazione ? In generale, con : m dispositivi
n stati diversi per dispositivo nm configurazioni diverse nm messaggi diversi m = 2 finestre m= 3 finestre n = 2 stati (aperta/chiusa) n = 2 stati nm = 4 messaggi nm = 8 messaggi Informatica - A.A

13 basta poco per comunicare….
Simboli (Finestre) Codice (Finestre Aperte o Chiuse) Un mezzo di trasmissione (luce) Un trasmettitore che codifica il messaggio Un ricevitore che decodifica il messaggio Informatica - A.A

14 Alfabeto e Codice Alfabeto  Codice  Codificare 
La formalizzazione puo’ essere esplicitata associando un simbolo predefinito ad ogni stato elementare del supporto fisico. Alfabeto  Una successione arbitraria e finita di simboli Codice  La relazione che associa al dato una successione finita di simboli Codificare  Trasformare un dato in una successione di simboli cui è associato un codice Informatica - A.A

15 La Codifica Binaria L’alfabeto piu’ semplice è quello costituito da soli due simboli. Un sistema automatico basato su un alfabeto binario è: Facilmente implementabile su un supporto fisico Sostanze magnetiche con due opposte polarizzazioni Passaggio o meno di corrente Passaggio o meno di luce Più economico Più affidabile Informatica - A.A

16 Es. Codice binario di Morse: . -
Codifica solo le lettere maiuscole Il numero di simboli in successione non è fisso per ogni lettera Informatica - A.A

17 . . . la domanda sorge spontanea
E’ possibile fare meglio del codice di Morse? In altre parole, è possibile con un alfabeto binario codificare numeri, testi, immagini, suoni, eseguire operazioni sui numeri? Codice Posizionale! La risposta è: La rappresentazione numerica dei calcolatori digitali ((digit)inglese = (cifra)italiano ) e’ cruciale !! Con una sola tecnologia è possibile rappresentare informazione numerica e non numerica. Ciò è rivoluzionario. Informatica - A.A

18 Sistemi di Numerazione
I sistemi di numerazione sono solitamente posizionali. Gli elementi costitutivi sono: Insieme di simboli o cifre base o radice ( = numero di simboli) Quando piu’ cifre sono combinate tra loro, il valore del numero dipende dalla posizione delle cifre (valore posizionale o peso) e dal valore intrinseco della cifra. Informatica - A.A

19 Sistema di numerazione decimale
È posizionale (unità, decine, centinaia) È costituito da 10 cifre (base = 10) peso = • • • • • 10-2 valore intrinseco della cifra Cifra più significativa Informatica - A.A

20 Notazione posizionale
La notazione posizionale consente di scrivere un numero N di una certa base generica b come una sequenza di cifre. = 5 • • • • • 10-2 Generalizzando, data una base b ed un insieme di n+m cifre: an-1 a n-2 a n a 2 a 1 a 0 . a -1 a -2 …. . . a-m-2 a m-2 am-1 a-m Valore decimale del numero N Informatica - A.A

21 Sistemi posizionali (208) 10= (11010000)2= (D0)16= (320)8 base Sistema
Cifre binario 2 0 1 ottale 8 decimale 10 esadecimale 16 A B C D E F (208) 10= ( )2= (D0)16= (320)8 base Informatica - A.A

22 Sistema non posizionale
Il sistema di numerazione romano non e’ posizionale: il valore associato a ciascun simbolo non dipende dalla sua posizione. Es: nei due numeri XII e XIX la seconda cifra, pur avendo la stessa posizione, assume due pesi diversi: XII = XIX = Informatica - A.A

23 Limiti della rappresentazione posizionale
Data un sistema di numerazione di base b qual e’ il massimo numero intero positivo rappresentabile in una sequenza di n cifre? Esempio: in 4 cifre il sistema decimale puo’ rappresentare interi positivi da 0 a 9999, ovvero 104 valori diversi, ovvero b4 valori. Formalmente, il numero massimo Nmax rappresentabile con n cifre nella base b e’: Informatica - A.A

24 Limiti della rappresentazione posizionale
Quante cifre sono invece necessarie per rappresentare un dato numero in una base? Basta invertire la relazione precedente: Informatica - A.A

25 Esempi 0 ≤ n ≤ 15 (1001)2 = Es. in una sequenza di 16 cifre il sistema binario può rappresentare 216 = interi positivi che vanno da 0 a Es. il numero minimo di cifre per rappresentare il numero 1000 è ceil(log2(1001)) = 10 Informatica - A.A

26 Conversione da base 10 a base b
Si effettuano divisioni successive del numero dato per la base b; I resti delle singole divisioni, presi alla rovescia, rappresentano le cifre del numero nella base b. Es.: convertire (109)10 in base 2. 7 6 5 4 3 2 1 109 : 2 = 54 : 2 = 27 : 2 = 13 : 2 = 6 : 2 = 3 : 2 = 1 : 2 = 1 (109)10 = ( )2 Informatica - A.A

27 Conversione da base 10 a base b
Es.: convertire (201)10 in base 2, 5 e 16. Informatica - A.A

28 Es.: convertire (107)10 in base 2, 5 e 16.
Informatica - A.A

29 La conversione e’ semplice se N = 2 ed M = 8 o 16 poiche’:
In generale conviene fare la conversione da base N a base 10 e successivamente la conversione da base 10 a base M. La conversione e’ semplice se N = 2 ed M = 8 o 16 poiche’: Ogni cifra ottale ( ) e’ esprimibile con 3 cifre binarie; Ogni cifra esadecimale (0. . .F) e’ esprimibile con 4 cifre binarie. Informatica - A.A

30 Il computer e l’informazione
Il sistema posizionale binario permette la codifica dell’informazione numerica attraverso l’uso di solo due cifre. Con opportune convenzioni si possono rappresentare anche i numeri relativi interi e frazionari, i caratteri, le immagini ed i suoni. A causa della maggiore semplicità implementativa ed affidabilità su un supporto fisico, i calcolatori digitali trattano solo informazione codificata in forma binaria. L’unità elementare d’informazione manipolata e memorizzata da un computer è detta bit (binary digit), e può assumere i valori 1 e 0. Informatica - A.A

31 Byte  sequenza di 8 bit (Es. 01001011)
Word  da 16 a 64 bit a seconda dell’architettura; convenzionalmente 16bit Longword  convenzionalmente 32 bit  1018 260 = 10246 E Exa  1015 250 = 10245 P Peta  1012 240 = 10244 T Tera  109 230 = 10243 G Giga  106 220 = 10242 M Mega  103 210 = 1024 K Kilo Approssimazione Valore Sigla Multiplo Informatica - A.A

32 Codifica dei numeri interi
Nell’ aritmetica binaria vi sono 4 tecniche di organizzazione dei numeri interi con segno. Modulo e segno; Complemento alla base diminuita; Complemento alla base; Eccesso M (o bias); Informatica - A.A

33 Rappresentazione in Modulo e Segno
Si adotta la convenzione di usare il bit piu’ significativo come rappresentante del segno. S modulo 0 : segno + 1 : segno - L’intervallo di valori rappresentabili su n bit è: Su16 bit, i valori rappresentati vanno da a Informatica - A.A

34 Rappresentazione in Modulo e Segno
Ci sono due inconvenienti principali in questa rappresentazione. Lo 0 ha due diverse rappresentazioni La somma di numeri di segno diverso porta ad un risultato scorretto Informatica - A.A

35 Rappresentazione in modulo e segno
Per superare questi due inconvenienti sarebbe necessario realizzare sistemi distinti per le operazioni di somma e sottrazione. Esercizio: rappresentare in modulo e segno su 4 bit il massimo e il minimo valore, le due rappresentazioni dello zero, ed i numeri +5 e –3. È possibile trovare una rappresentazione che eviti questo problema? Ovvero, possiamo provare a trovare un algoritmo di codifica che permetta ad una unica macchina, il “sommatore”, di eseguire le somme algebriche? Informatica - A.A

36 Per b = 2, il complemento e’ noto come complemento a 2.
Complemento alla base Dato un numero Nb, il complemento alla base C(Nb) e’ dato da: n e’ il numero di cifre usato per rappresentare N. C(Nb) = bn - N Per b = 2, il complemento e’ noto come complemento a 2. Informatica - A.A

37 Complemento alla base C(Nb) = bn - N N = bn - C(Nb)
Esempio: b = 10, n = 4, N = 30 C(3010) = bn – N = = 9970 Esempio: b = 10, n = 5, C(N10) = 68950 N10 = C(N10) = 105 – = 31050 Informatica - A.A

38 Complemento alla base Esempio: b = 2, n = 4, N2 = 01112 = 710
C(710) = bn – N = = 9 = 10012 Esempio: b = 2, n = 4, N10 = 310= 00112 C(310) = bn – N = = 1310 = 11012 In pratica, il complemento a 2 si ottiene invertendo tutti i bit e aggiungendo 1. N2 = = 710 C(01112) = N + 1 = = 10012 Informatica - A.A

39 Rappresentazione in complemento a 2
L’idea è di usare il complemento alla base di un numero positivo per rappresentare il suo opposto. Per rappresentare un numero negativo: si inizia con la rappresentazione binaria del suo valore assoluto; si invertono tutti i bit; si aggiunge 1. Esempio: N10 = 3510 = = Questo metodo risolve il problema del doppio zero e delle somme algebriche. Informatica - A.A

40 Rappresentazione in complemento a 2
Esempio: quanto vale in decimale? 1. E’ un numero negativo poiche’ il bit piu’ significativo e’ 1 2. Per ottenere il modulo si invertono i bit e si somma 1 > = = 3510 ( )2 = Informatica - A.A

41 Rappresentazione in complemento a 2
Esempio: quanto vale in decimale? 1. E’ un numero negativo 2. Per ottenere il modulo si invertono i bit e si somma 1 1011 -> = = 510 (1011)2 = -510 Informatica - A.A

42 Rappresentazione in complemento a 2
Qual’è il complemento a 2 dello zero?   L’intervallo dei valori rappresentabili su n bit in complemento a 2 è ora: in quanto viene recuperato il valore “sprecato” per il secondo zero. Ad esempio, i valori rappresentabili su 8 bit vanno da –128 a 127. Informatica - A.A

43 Rappresentazione in complemento a 2
Solo i numeri negativi sono rappresentati in complemento alla base. Per gli interi positivi vale la codifica del solo modulo Notiamo che: i numeri negativi hanno sempre il bit di segno a 1 mentre nelle rappresentazioni in modulo e segno il bit più significativo è nella pratica sempre dedicato a rappresentare il segno, nel complemento a 2 esso può contribuire anche a determinare il valore assoluto del numero rappresentato. Es = Informatica - A.A

44 Rappresentazione in complemento a 2
Per sommare numeri rappresentati in complemento a due si devono trattare i numeri come interi senza segno, ovvero si considera il bit di segno come qualunque altro bit del numero, e non si tiene conto dell’eventuale riporto della posizione piu’ a sinistra. -710 = = = Non viene considerato 310 Informatica - A.A

45 Rappresentazione in complemento a 2
Per la sottrazione ci si riconduce al caso della somma trasformando la differenza nella somma. Es. Calcolare Operiamo come se l’operazione fosse ( -4)10 -410 = = = 11100 = Non considerato -1110 Informatica - A.A

46 Rappresentazione in complemento a 2
Fissato il numero di bit, è fissato l’intervallo dei valori rappresentabili, ogni volta che il risultato di un’operazione esce da questo intervallo si verifica una condizione di overflow. Nella rappresentazione in complemento a 2 l’overflow può verificarsi se contemporaneamente: i due addendi hanno segno concorde e il segno del risultato è diverso dal segno dei due addendi Informatica - A.A

47 Rappresentazione in complemento a 2
Es. Calcolare –1210 – 610. = Non considerato Il bit del segno e’ diverso da quello degli addendi, il che e’ impossibile (overflow). Informatica - A.A

48 Metodo del bias Si sottintende di sottrarre sempre il numero 2(n-1) da ogni numero rappresentato in modulo e segno. A 8 bit il numero da sottrarre (bias) è 27 = 128. +(8)10 ( )2 (8+128) 10 = (136)10 -(8)10 ( )2 (-8+128) 10 = (120)10 Il metodo del bias preserva l’ordinamento. Per effettuare somme e sottrazioni occorre ogni volta sottrarre o aggiungere il bias Informatica - A.A

49 Riassumendo Informatica - A.A

50 Esercizi - conversione base 10 ->base b
Convertire i seguenti numeri nelle basi specificate: 345 in base 2 [R ] 345 in base 8 [R. 531] 345 in base 16 [R.159] 595 in base 5 [R. 4340] 231 in base 2 [R ] Informatica - A.A

51 Addizione e sottrazione
Queste operazioni si effettuano secondo le regole del sistema decimale, ovvero si sommano (sottraggono) le cifre di pari peso. + 1 0 carry = 1 1 1 borrow = 1 Informatica - A.A

52 Carry e Borrow Come nelle operazioni su numeri decimali, si puo’ avere un riporto o un prestito sul bit di peso immediatamente superiore. Nella numerazione binaria questi sono detti rispettivamente carry e borrow. + 1 0 carry = 1 1 1 borrow = 1 Informatica - A.A

53 Overflow Qualunque sia il numero di bit usati per rappresentare un numero in un calcolatore esso permetterà la rappresentazione di interi in un range FINITO. I calcolatori non operano sui numeri naturali ma su loro sottoinsiemi finiti ! Somma e differenza di interi non sono sempre definite in tali insiemi; ad esempio se ho: carry sul bit piu’ significativo (Most Significant Bit); borrow dal bit piu’ significativo (MSB); il numero di bit fissato non e’ sufficiente per rappresentare il risultato. Questa condizione si chiama di overflow. Informatica - A.A

54 Esempi di overflow (9)10 = ( )2 (7)10 = ( )2 Il risultato non e’ rappresentabile su 4 bit in entrambi i casi. (4)10 = ( )2 (7)10 = ( )2 (1)  Informatica - A.A


Scaricare ppt "Lezione 2 – A.A. 2016/2017 Prof. Giovanni Acampora"

Presentazioni simili


Annunci Google