Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

Размер: px
Начинать показ со страницы:

Download "Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012"

Транскрипт

1 Fondamenti di Informatica - 1 Prof. B.Buttarazzi A.A. 2011/2012

2 Sommario Operazioni aritmetiche tra numeri in virgola mobile Algoritmi Esempi Errore di rappresentazione (assoluto e relativo) Approssimazione dei numeri reali ( arrotondamento, troncamento) Esercizi 21/03/2012 2

3 Operazioni tra numeri in Virgola Mobile: somma e sottrazione 1) L esponente più piccolo viene reso uguale al più grande spostando la mantissa verso destra del numero di cifre pari alla differenza tra gli esponenti (shift per ottenere un corretto incolonnamento) 2) Le mantisse vengono sommate o sottratte 3) Se necessario, la mantissa viene rinormalizzata e l esponente corretto

4 Operazioni tra numeri in Virgola Mobile: somma e sottrazione 1) L esponente più piccolo viene reso uguale al più grande spostando la mantissa verso destra del numero di cifre pari alla differenza tra gli esponenti (shift per ottenere un corretto incolonnamento) 2) Le mantisse vengono sommate o sottratte 3) Se necessario, la mantissa viene rinormalizzata e l esponente corretto A= B= B=

5 Esercizio Eseguire assumendo una precisione di 4 bit

6 Esercizio Eseguire assumendo una precisione di 4 bit Soluzione 5 10 = = = = = = Normalizzazione: Arrotondamento:

7 Operazioni tra numeri in Virgola Mobile: moltiplicazione e divisione 1) Gli esponenti vengo sommati o sottratti 2) Le mantisse vengono moltiplicate o divise 3) Se necessario, la mantissa viene rinormalizzata e l esponente corretto

8 Operazioni tra numeri in Virgola Mobile: moltiplicazione e divisione 1) Gli esponenti vengo sommati o sottratti 2) Le mantisse vengono moltiplicate o divise 3) Se necessario, la mantissa viene rinormalizzata e l esponente corretto

9 Esercizio Eseguire *2-1 * ( * 2-2 ) assumendo lo standard IEEE 754 in semplice precisione

10 Esercizio Eseguire *2-1 * ( * 2-2 ) assumendo lo standard IEEE 754 in semplice precisione Soluzione =127-1 = =127-2= Calcolo esponente = = 124 Nuovo esponente: Calcolo prodotto mantisse * =1.110 Normalizzazione e controllo overflow e/o underflow. è già a posto Arrotondamento ok Segno - =1 Risultato * = =

11 Problemi con l uso dei numeri in virgola mobile 3/21/

12 Problemi con l uso dei numeri in virgola mobile Formule matematicamente equivalenti possono dare risultati diversi. Per esempio, nella maggior parte delle applicazioni in virgola mobile, 1,0 + ( ) da come risultato 1,0 mentre (1, ) ) + da 0,0. 3/21/

13 Errore assoluto Quando si rappresenta un numero reale n in notazione floating point si può commettere un errore di approssimazione dovuto al fatto che abbiamo a disposizione un numero limitato di cifre (t) che ci permetteranno di rappresenteremo il numero razionale n, la differenza e A = n-n si chiama errore assoluto. ERRORE ASSOLUTO: e A = n-n Questa grandezza, benché fornisca un indicazione precisa dell errore commesso, non permette di valutare l entità dell errore in termini percentuali.

14 Errore relativo Per conoscere quanto un errore influenzi il risultato (quando n 0) si deve introdurre l errore relativo: ERRORE RELATIVO: e R = e A /n= (n-n )/n Ad esempio se consideriamo le seguenti approssimazioni n = 2 di n = 1 e n = 1001 di n = 1000 In entrambi i casi avremo un errore assoluto pari a uno, ma mentre nel primo caso l errore relativo ((n-n )/n = 1-1/1) che (in valore assoluto) è pari a 1 corrisponde al 100% del valore a cui è riferito (ho sbagliato 1 su 1) nel secondo caso ( (n-n )/n = /1000) ) è pari a un millesimo e corrisponde allo 0,1% del valore a cui è riferito (infatti ho sbagliato 1 su 1000). Dal punto di vista dell approssimazione, è evidente che mentre un errore dello 0,1% potrebbe essere accettabile un errore del 100% non lo è affatto!

15 Errore relativo Per conoscere quanto un errore influenzi il risultato quando n 0, si definisce l errore relativo: ERRORE RELATIVO: e R = e A /n= (n-n )/n Osservazione L errore relativo deve essere comparato a 1. Un errore relativo vicino a zero indicherà che il risultato approssimato è molto vicino al risultato esatto, mentre un errore relativo uguale a 1 indicherà la totale perdita di informazione. L errore relativo non è influenzato dall ordine di grandezza dei numeri che si stanno considerando ma è legato al numero di cifre di n,a partire dalla prima, che coincidono con quelle di n.

16 Errore assoluto e relativo Esempi Sia n=3, π n = L errore assoluto è ma l errore relativo è: /3, e R =

17 Errore assoluto e relativo ERRORE ASSOLUTO: e A = n-n ERRORE RELATIVO: e AR = e A /n = (n-n )/n Osservazione L ordine di grandezza dell errore assoluto dipende dal numero di cifre significative e dall ordine di grandezza del numero L ordine di grandezza dell errore relativo dipende solo dal numero di cifre significative Esempio

18 Errore assoluto e relativo ERRORE ASSOLUTO: e A = n-n ERRORE RELATIVO: e AR = e A /n = (n-n )/n Osservazione L errore relativo non è influenzato dall ordine di grandezza dei numeri che si stanno considerando ma è legato al numero di cifre di n,a partire dalla prima, che coincidono con quelle di n. Se la mantissa è normalizzata l errore relativo è costante. Esempio

19 Precisione di una rappresentazione Se rappresentiamo numeri con una precisione fino alla t-esima cifra frazionaria l eventuale errore assoluto sarà < 2 -t

20 Arrotondamento / Troncamento Quando dobbiamo rappresentare in virgola mobile un numero reale x che richiede un numero di cifre per la mantissa normalizzata superiore a quelle disponibili (t) la determinazione di x ( il floating point più vicino x) può avvenire in due modi: per arrotondamento o per troncamento

21 Esempio t=2 x= 2,25 10 Arrotondamento / Troncamento

22 Eventi legati a errori di arrotondamento: Missile Patriot MISSILE PATRIOT Il , durante la guerra del Golfo, in Arabia Saudita, un missile Patriot mancò l'intercettazione di uno SCUD (missile iracheno) che distrusse una caserma americana. A causa di analoghi errori di intercettazione altri missili SCUD sono riusciti a colpire il territorio israeliano. Successivamente fu riscontrato che il motivo di ciò era dovuto a errori di arrotondamento nel calcolo del tempo. In particolare, il tempo, calcolato in decimi di secondo nel computer dei PATRIOT, poi veniva moltiplicato per 10 per ottenere il tempo in secondi. Questi calcoli venivano eseguiti con un formato a virgola fissa con registri a 24 bit. Sfortunatamente, il numero 0.1 non ha una rappresentazione finita in binario pertanto il troncamento e la successiva moltiplicazione per 10 comportava l'insorgere di errori significativi. Il semplice troncamento produceva un errore assoluto pari a circa

23 Eventi legati a errori di arrotondamento: Razzo Ariane V Razzo ARIANE Il Ariane V, un razzo costruito dall ESA (European Space Agency) per posizionare in orbita dei satelliti) precipitò 37 secondi dopo il lancio dalla base spaziale di Kourou nella Guyana Francese La distruzione del razzo e del suo carico provoco una perdita di centinaia di milioni di dollari. Il guasto alla base del fallimento, accertato dopo lunghe indagini, fu dovuto ad una erronea conversione di un numero floating point a 64 bit (correlato alla velocità orizzontale del razzo rispetto alla piattaforma) in un intero a 16 bit. Il numero convertito, risultando maggiore del massimo intero rappresentabile pari a 32768, provocò un overflow nella misura della velocità orizzontale con il conseguente spegnimento dei motori ed esplosione del razzo. Il sempre da Kourou è partito con successo il nuovo razzo europeo VEGA(Vettore Europeo Generazione Avanzata) progettato e costruito per conto dell ESA quasi totalmente in Italia.

24 ESERCIZIO Determinare quante e quali cifre binarie sono necessarie per convertire in virgola fissa il numero (1,76) 10 con un errore assoluto inferiore a 1/100, successivamente effettuare la conversione del numero. 3/21/

25 Soluzione Per convertire con una precisione di almeno 1/50 un numero frazionario deve essere verificato (ricordando che 2 5 =32,2 6 =64) pertanto occorrono 6 cifre binarie per la parte frazionaria. Nel caso di 1,76 si opera la conversione 3/21/

26 Troviamo ora la rappresentazione binaria di 1,76 Per la parte intera si ha 1. Effettuando la trasformazione in binario della parte frazionaria (0.76) si ottiene: Conversione della parte frazionaria (per moltiplicazioni successive).76* 2 = 1.52 parte intera = 1.52* 2 = 1.04 parte intera = 1.04* 2 = 0.8 parte intera = 0.8 * 2 = 0.16 parte intera = 0.16 * 2 = 0.32 parte intera = 0.32* 2 = 0.64 parte intera = *2=1,28 parte intera = 1 0,28*2=0.56 parte intera = 1 0,56*2=1,12parte intera = 1. (0.76) 10 ( ) 2 Volendo una approssimazione alla 6 cifra frazionaria. La rappresentazione in virgola fissa del numero 1,76 sarà quindi: per un totale di 7 cifre.

27 ESERCIZIO Determinare quante e quali cifre binarie sono necessarie per convertire in virgola fissa il numero (0,12) 10 con un errore assoluto inferiore a 1/100, successivamente effettuare la conversione del numero. 3/21/

28 ESERCIZIO Elencare tutti i numeri rappresentabili con 6 bit: 1 bit di segno, 3 di esponente e 4 di mantissa Seguendo le stesse regole dello standard IEE754 3/21/

29 Standard IEEE 754 3/21/

30 Configurazioni particolari Lo Standard IEEE 754 attribuisce valori convenzionali a particolari configurazioni di E ed m A) E ed m tutti 0 rappresentano il valore 0 (altrimenti non rappresentabile) B) m tutti 0 ed E tutti 1 rappresentano l overflow C) m!= 0 ed E tutti 1 indicano la situazione Not A Number (NAN), cioè un valore indefinito (ad es. il risultato di una divisione per 0) Queste convezioni sono una caratteristica peculiare della notazione IEEE 754; ( se non esplicitamente definite, non valgono per altre notazioni)

Sistemi di Numerazione Binaria

Sistemi di Numerazione Binaria Sistemi di Numerazione Binaria BIN.1 Numeri e numerali Numero: entità astratta Numerale : stringa di caratteri che rappresenta un numero in un dato sistema di numerazione Lo stesso numero è rappresentato

Подробнее

Sistemi di Numerazione Binaria

Sistemi di Numerazione Binaria Sistemi di Numerazione Binaria NB.1 Numeri e numerali Numero: entità astratta Numerale : stringa di caratteri che rappresenta un numero in un dato sistema di numerazione Lo stesso numero è rappresentato

Подробнее

Informatica Generale 02 - Rappresentazione numeri razionali

Informatica Generale 02 - Rappresentazione numeri razionali Informatica Generale 02 - Rappresentazione numeri razionali Cosa vedremo: Rappresentazione binaria dei numeri razionali Rappresentazione in virgola fissa Rappresentazione in virgola mobile La rappresentazione

Подробнее

Rappresentazione dei numeri reali in un calcolatore

Rappresentazione dei numeri reali in un calcolatore Corso di Calcolatori Elettronici I A.A. 2010-2011 Rappresentazione dei numeri reali in un calcolatore Lezione 3 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Rappresentazione di numeri

Подробнее

Numeri reali. Notazione scientifica (decimale) Floating Point. Normalizzazione. Esempi. Aritmetica del calcolatore (virgola mobile)

Numeri reali. Notazione scientifica (decimale) Floating Point. Normalizzazione. Esempi. Aritmetica del calcolatore (virgola mobile) Numeri reali Aritmetica del calcolatore (virgola mobile) Capitolo 9 1 Numeri con frazioni Posso essere rappresentati anche in binario Es.: 1001.1010 = 2 4 + 2 0 +2-1 + 2-3 =9.625 Quante cifre dopo la virgola?

Подробнее

Rappresentazione binaria

Rappresentazione binaria Rappresentazione binaria Per informazione intendiamo tutto quello che viene manipolato da un calcolatore: numeri (naturali, interi, reali,... ) caratteri immagini suoni programmi... La più piccola unità

Подробнее

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012 Fondamenti di Informatica - 1 Prof. B.Buttarazzi A.A. 2011/2012 I numeri reali Sommario Conversione dei numeri reali da base 10 a base B Rappresentazione dei numeri reali Virgola fissa Virgola mobile (mantissa

Подробнее

Rappresentazione in virgola mobile Barbara Masucci

Rappresentazione in virgola mobile Barbara Masucci Architettura degli Elaboratori Rappresentazione in virgola mobile Barbara Masucci Punto della situazione Abbiamo visto le rappresentazioni dei numeri: Ø Sistema posizionale pesato per Ø Ø Interi positivi

Подробнее

Rappresentazione dei Numeri

Rappresentazione dei Numeri Rappresentazione dei Numeri Rappresentazione dei Numeri Il sistema numerico binario è quello che meglio si adatta alle caratteristiche del calcolatore Il problema della rappresentazione consiste nel trovare

Подробнее

Numeri in virgola mobile

Numeri in virgola mobile Numeri in virgola mobile PH. 3.6 1 Motivazioni virgola mobile Rappresentazione in virgola fissa per rappresentare numeri frazionari fissando la posizione della virgola su una posizione prestabilita Le

Подробнее

Rappresentazione numeri reali

Rappresentazione numeri reali Rappresentazione numeri reali I numeri reali rappresentabili in un calcolatore sono in realtà numeri razionali che approssimano i numeri reali con un certo grado di precisione Per rappresentare un numero

Подробнее

Codifica. Rappresentazione di numeri in memoria

Codifica. Rappresentazione di numeri in memoria Codifica Rappresentazione di numeri in memoria Rappresentazione polinomiale dei numeri Un numero decimale si rappresenta in notazione polinomiale moltiplicando ciascuna cifra a sinistra della virgola per

Подробнее

CALCOLO NUMERICO. Rappresentazione virgola mobile (Floating Point)

CALCOLO NUMERICO. Rappresentazione virgola mobile (Floating Point) ASA Marzo Docente Salvatore Mosaico Introduzione al Calcolo Numerico (parte ) CALCOLO NUMERICO Obiettivo del calcolo numerico è quello di fornire algoritmi numerici che, con un numero finito di operazioni

Подробнее

Sistemi numerici: numeri in virgola mobile Esercizi risolti

Sistemi numerici: numeri in virgola mobile Esercizi risolti Esercizi risolti 1 Esercizio Un numero relativo è rappresentato in virgola mobile secondo lo standard IEEE 754 su 32 bit nel seguente modo: s = 1 e = 10000111 m = 11011000000000000000000 Ricavare il corrispondente

Подробнее

Fondamenti di Informatica - 1. Esercizi A.A. 2011/2012

Fondamenti di Informatica - 1. Esercizi A.A. 2011/2012 Fondamenti di Informatica - 1 Esercizi A.A. 2011/2012 Esercizio Esercizio Esercizio Esercizio Esercizio Dato ilnumero 11000000111100000000000000000000 rappresentato secondo lo standard floating point IEEE

Подробнее

Lezione 3. I numeri relativi

Lezione 3. I numeri relativi Lezione 3 L artimetcia binaria: i numeri relativi i numeri frazionari I numeri relativi Si possono rappresentare i numeri negativi in due modi con modulo e segno in complemento a 2 1 Modulo e segno Si

Подробнее

Utilizzata per rappresentare numeri frazionari nella. numero =(mantissa) 2 esponente. Il formato piu utilizzato e quello IEEE P754, rappresentato

Utilizzata per rappresentare numeri frazionari nella. numero =(mantissa) 2 esponente. Il formato piu utilizzato e quello IEEE P754, rappresentato Rappresentazione in oating-point Utilizzata per rappresentare numeri frazionari nella notazione esponenziale: numero =(mantissa) 2 esponente Il formato piu utilizzato e quello IEEE P754, rappresentato

Подробнее

Rappresentazione FP IEEE-754 Somme di numeri FP

Rappresentazione FP IEEE-754 Somme di numeri FP Rappresentazione FP IEEE-754 Somme di numeri FP Salvatore Orlando & Marta Simeoni Arch. Elab.A -M. Simeoni 1 Mantissa = d 0. d -1...d -k Lo standard IEEE754 usa una notazione scientifica normalizzata,

Подробнее

Rappresentazione di Numeri Reali. Rappresentazione in virgola fissa (fixed-point) Rappresentazione in virgola fissa (fixed-point)

Rappresentazione di Numeri Reali. Rappresentazione in virgola fissa (fixed-point) Rappresentazione in virgola fissa (fixed-point) Rappresentazione di Numeri Reali Un numero reale è una grandezza continua Può assumere infiniti valori In una rappresentazione di lunghezza limitata, deve di solito essere approssimato. Esistono due forme

Подробнее

Calcolatori Elettronici Parte II: Sistemi di Numerazione Binaria. Prof. Riccardo Torlone Università di Roma Tre

Calcolatori Elettronici Parte II: Sistemi di Numerazione Binaria. Prof. Riccardo Torlone Università di Roma Tre Calcolatori Elettronici Parte II: Sistemi di Numerazione Binaria Prof. Riccardo Torlone Università di Roma Tre Unità di misura Attenzione però, se stiamo parlando di memoria: n 1Byte = 8 bit n 1K (KiB:

Подробнее

Calcolo numerico e programmazione Rappresentazione dei numeri

Calcolo numerico e programmazione Rappresentazione dei numeri Calcolo numerico e programmazione Rappresentazione dei numeri Tullio Facchinetti 16 marzo 2012 10:54 http://robot.unipv.it/toolleeo Rappresentazione dei numeri nei calcolatori

Подробнее

Calcolatori Elettronici Parte II: Sistemi di Numerazione Binaria. Prof. Riccardo Torlone Università di Roma Tre

Calcolatori Elettronici Parte II: Sistemi di Numerazione Binaria. Prof. Riccardo Torlone Università di Roma Tre Calcolatori Elettronici Parte II: Sistemi di Numerazione Binaria Prof. Riccardo Torlone Università di Roma Tre Unità di misura Attenzione però, se stiamo parlando di memoria: 1Byte = 8 bit 1K (KiB: KibiByte)

Подробнее

Esercitazioni su rappresentazione dei numeri e aritmetica. Interi unsigned in base 2

Esercitazioni su rappresentazione dei numeri e aritmetica. Interi unsigned in base 2 Esercitazioni su rappresentazione dei numeri e aritmetica Salvatore Orlando & Marta Simeoni Interi unsigned in base 2 Si utilizza un alfabeto binario A = {0,1}, dove 0 corrisponde al numero zero, e 1 corrisponde

Подробнее

FONDAMENTI DI INFORMATICA. Prof. Alfredo Accattatis Slide (rielaborate) del prof. Emiliano Casalicchio

FONDAMENTI DI INFORMATICA. Prof. Alfredo Accattatis Slide (rielaborate) del prof. Emiliano Casalicchio FONDAMENTI DI INFORMATICA Prof. Alfredo Accattatis Slide (rielaborate) del prof. Emiliano Casalicchio 2 Caratteri e codifica Un carattere in MATLAB è rappresentato usando le virgolette singole 'a', 'x',

Подробнее

Somma di numeri binari

Somma di numeri binari Fondamenti di Informatica: Codifica Binaria dell Informazione 1 Somma di numeri binari 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10 Esempio: 10011011 + 00101011 = 11000110 in base e una base Fondamenti di

Подробнее

Per gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense.

Per gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense. Fondamenti di Informatica - A. Fantechi Raccolta di esercizi Per gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense.

Подробнее

Aritmetica dei Calcolatori Elettronici

Aritmetica dei Calcolatori Elettronici Aritmetica dei Calcolatori Elettronici Prof. Orazio Mirabella L informazione Analogica Segnale analogico: variabile continua assume un numero infinito di valori entro l intervallo di variazione intervallo

Подробнее

Politecnico di Bari Sede di Foggia. docente: Prof. Ing. Michele Salvemini

Politecnico di Bari Sede di Foggia. docente: Prof. Ing. Michele Salvemini Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2011/2012 docente: Prof. Ing. Michele Salvemini Sommario I Codici I Sistemi di numerazione

Подробнее

Somma di numeri floating point. Algoritmi di moltiplicazione e divisione per numeri interi

Somma di numeri floating point. Algoritmi di moltiplicazione e divisione per numeri interi Somma di numeri floating point Algoritmi di moltiplicazione e divisione per numeri interi Standard IEEE754 " Standard IEEE754: Singola precisione (32 bit) si riescono a rappresentare numeri 2.0 10 2-38

Подробнее

Esercitazione n. 5. Rappresentazione dei numeri

Esercitazione n. 5. Rappresentazione dei numeri Esercitazione n. 5 Rappresentazione dei numeri dott. Carlo Todeschini [email protected] Politecnico di Milano A.A. 2009/2010 Queste slide sono distribuite con licenza Creative Commons Attribuzione-Non

Подробнее