Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012
|
|
|
- Eduardo Piccinini
- 9 anni fa
- Просмотров:
Транскрипт
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 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 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 Cosa vedremo: Rappresentazione binaria dei numeri razionali Rappresentazione in virgola fissa Rappresentazione in virgola mobile La rappresentazione
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 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 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 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
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 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 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 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 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)
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
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 Esercizio Esercizio Esercizio Esercizio Esercizio Dato ilnumero 11000000111100000000000000000000 rappresentato secondo lo standard floating point IEEE
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
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 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 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 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 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 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 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 2 Caratteri e codifica Un carattere in MATLAB è rappresentato usando le virgolette singole 'a', 'x',
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.
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 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
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 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 dott. Carlo Todeschini [email protected] Politecnico di Milano A.A. 2009/2010 Queste slide sono distribuite con licenza Creative Commons Attribuzione-Non
