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

Slides:



Advertisements
Presentazioni simili
Rappresentazione dell’informazione nel calcolatore.
Advertisements

Rappresentazione dell'informazione
La codifica dei numeri.
Conversione binario-ottale/esadecimale
Rappresentazione dei numeri
Rappresentazione delle informazioni negli elaboratori L’entità minima di informazione all’interno di un elaboratore prende il nome di bit (binary digit.
© 2015 Giorgio Porcu - Aggiornamennto 01/12/2015 I STITUTO T ECNICO SECONDO BIENNIO T ECNOLOGIE E P ROGETTAZIONE Rappresentazione dell’ Informazione Sistemi.
Informatica Lezione 2 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
2a + 10b abx2 3a + 1 y 2 a + 1 x + 2y a − Espressioni algebriche
Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica FONDAMENTI DI INFORMATICA Domenico Talia
I Polinomi Prof.ssa A.Comis.
4. Codifica binaria dell’informazione Informatica - CDL in Ingegneria Industriale- A.A Ing. Simona Colucci.
Agile Group – DIEE, Università degli studi di Cagliari Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettronica ELEMENTI DI INFORMATICA.
1 Sistemi di numerazione. 2 Sistemi di numerazione posizionali posizionali Sistemi di numerazione posizionali: base La base del sistema di numerazione.
NUMERI RELATIVI I numeri relativi comprendono i numeri positivi, negativi e lo 0 Esempio: +10, -5, +3, 0, -2 I numeri relativi si possono trovare all’interno.
NUMERI ed ERRORI MANOLO VENTURIN UNIVERSITÀ DEGLI STUDI DI PADOVA DIP. DI MATEMATICA PURA ED APPLICATA A. A. 2007/2008.
Informatica per l’Ingegneria- CDL in Ingegneria Informatica- A.A Codifica binaria dell’informazione.
1 La Unità Aritmetico Logica. Aritmetica 32 operation result a b ALU.
Rappresentazione dell’ Informazione Digitale e Binario
NUMERI E E CARATTERI IN BINARIO
Unità di apprendimento 1
I Numeri.
Sistemi e Applicazioni per l’Amministrazione Digitale
Unità di apprendimento 1
Prova d’Esame: selezione di domande
Rappresentazione dell’ Informazione Informazione e Comunicazione
Unità di apprendimento 1
Le molecole.
La rappresentazione delle informazioni
Le equazioni di II°Grado
Dal problema al processo risolutivo
x : variabile indipendente
INFORMATICA DI BASE I FONDAMENTI.
GLI INSIEMI NUMERICI N – Z – Q – R – C
Logica binaria Moreno Marzolla
Algoritmi e soluzioni di problemi
IL CONCETTO DI ALGORITMO
Dal problema al processo risolutivo
x : variabile indipendente
Prof.ssa Carolina Sementa
MATEMATICA I.
FUNZIONI MATEMATICHE DANIELA MAIOLINO.
JAVA usa una rappresentazione in VIRGOLA MOBILE
Addizioni in binario, ottale, esadecimale
Informatica A.A. 2016/17 Prof. Italo Epicoco
I MONOMI.
La codifica dell’informazione
Che cos’e’ l’Informatica
ALU (Arithmetic Logic Unit)
Rappresentazione dei Numeri
INFORMATICA DI BASE I FONDAMENTI.
Programmare.
I RADICALI Definizione di radicali Semplificazione di radicali
Codicfiche Interi Complemento alla base.
{ } Multipli di un numero M4 ESEMPIO 0, 4, 8, 12, 16, 20, 24, …
Gli automi.
Il sistema di numerazione decimale
I numeri relativi DEFINIZIONE. Si dicono numeri relativi tutti i numeri interi, razionali e irrazionali dotati di segno (positivo o negativo). ESEMPI Numeri.
Programmazione e Laboratorio di Programmazione
Operazioni su Naturali
I NUMERI REALI ( ) come ampliamenti successivi
Corso di Informatica Applicata Introduzione
Concetti base 1.1.
Sistemi Digitali.
POTENZA con numeri relativi (esponente +)
NUMERI RELATIVI ..., -2, -1, 0, 1, 2, ... formano l’insieme dei numeri interi Sono chiamati anche numeri relativi, in quanto il loro valore dipende dal.
Programmazione e Laboratorio di Programmazione
Algoritmi.
ALGORITMO E’ una successione finita di passi che consente di risolvere tutti i problemi di una classe e di determinare il risultato. Caratteristiche: Finito.
Le Equazioni di 1°grado Prof.ssa A.Comis.
Transcript della presentazione:

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

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

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. 2016-2017

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. 2016-2017

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. 2016-2017

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. 2016-2017

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. 2016-2017

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. 2016-2017

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. 2016-2017

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

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. 2016-2017

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. 2016-2017

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. 2016-2017

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. 2016-2017

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. 2016-2017

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

. . . 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. 2016-2017

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. 2016-2017

Sistema di numerazione decimale È posizionale (unità, decine, centinaia) È costituito da 10 cifre (base = 10) peso 504.31 = 5 • 102 + 0 • 101 + 4 • 100 + 3 • 10-1 + 1 • 10-2 valore intrinseco della cifra Cifra più significativa Informatica - A.A. 2016-2017

Notazione posizionale La notazione posizionale consente di scrivere un numero N di una certa base generica b come una sequenza di cifre. 504.31 = 5 • 102 + 0 • 101 + 4 • 100 + 3 • 10-1 + 1 • 10-2 Generalizzando, data una base b ed un insieme di n+m cifre: an-1 a n-2 a n-3 . . .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. 2016-2017

Sistemi posizionali (208) 10= (11010000)2= (D0)16= (320)8 base Sistema Cifre binario 2 0 1 ottale 8 0 1 2 3 4 5 6 7 decimale 10 0 1 2 3 4 5 6 7 8 9 esadecimale 16 0 1 2 3 4 5 6 7 8 9 A B C D E F (208) 10= (11010000)2= (D0)16= (320)8 base Informatica - A.A. 2016-2017

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 = 10 + 1 + 1 XIX = 10 + 10 - 1 Informatica - A.A. 2016-2017

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. 2016-2017

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. 2016-2017

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

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 + 1 54 : 2 = 27 + 0 27 : 2 = 13 + 1 13 : 2 = 6 + 1 6 : 2 = 3 + 0 3 : 2 = 1 + 1 1 : 2 = 0 + 1 1 (109)10 = (1 1 0 1 1 0 1)2 Informatica - A.A. 2016-2017

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

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

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 (0. . . 7) e’ esprimibile con 3 cifre binarie; Ogni cifra esadecimale (0. . .F) e’ esprimibile con 4 cifre binarie. Informatica - A.A. 2016-2017

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. 2016-2017

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. 2016-2017

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. 2016-2017

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 -32767 a 32767. Informatica - A.A. 2016-2017

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. 2016-2017

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. 2016-2017

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. 2016-2017

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

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

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 3510 = 0010 00112 -3510 = 1101 11012 Questo metodo risolve il problema del doppio zero e delle somme algebriche. Informatica - A.A. 2016-2017

Rappresentazione in complemento a 2 Esempio: quanto vale 1101 11012 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 1101 1101 -> 0010 0010 +1 = 0010 0011 = 3510 (1101 11012)2 = -3510 Informatica - A.A. 2016-2017

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

Rappresentazione in complemento a 2 Qual’è il complemento a 2 dello zero? 0000 0000  1111 1111 + 1  0000 0000 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. 2016-2017

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. -12810 = 1000 00002 Informatica - A.A. 2016-2017

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 = 110012 +1010 = 010102 1 1 0 0 1 + 0 1 0 1 0 = Non viene considerato 310  1 0 0 0 1 1 Informatica - A.A. 2016-2017

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

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. 2016-2017

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

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 ( 1 0 0 0 1 0 0 0 )2 (8+128) 10 = (136)10 -(8)10 ( 0 1 1 1 1 0 0 0 )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. 2016-2017

Riassumendo Informatica - A.A. 2016-2017

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

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

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. 2016-2017

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. 2016-2017

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