La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

1 © 1999 Roberto Bisiani Overflow n Overflow  traboccamento Si verifica se il risultato di un’operazione non puo’ essere rappresentato con il numero di.

Presentazioni simili


Presentazione sul tema: "1 © 1999 Roberto Bisiani Overflow n Overflow  traboccamento Si verifica se il risultato di un’operazione non puo’ essere rappresentato con il numero di."— Transcript della presentazione:

1 1 © 1999 Roberto Bisiani Overflow n Overflow  traboccamento Si verifica se il risultato di un’operazione non puo’ essere rappresentato con il numero di bit a disposizione n Nel caso di complemento a due (la norma): Si verifica solo se i segni sono uguali -124+ 10000100 67= 01000011 Segni discordi. _____ ________ Risultato corretto. -57 11000111 70+ 01000110 Segni concordi. 70= 01000110 Risultato scorretto (140 è fuori dal ____ ________ range):OVERFLOW. 140 10001100

2 2 © 1999 Roberto Bisiani Numeri frazionari n Fixed point

3 3 © 1999 Roberto Bisiani Numeri frazionari n Floating point  come la notazione scientifica esponenziale Esempio: 1753.427 si puo’ rappresentare come: 0.1753427*10 4 = 1.753427*10 3 =...= 1753427*10 - 3 n Aumenta la gamma di valori rappresentabili n Diminuisce e diventa variabile la precisione: n Non tutti i numeri sono rappresentabili con una certa rappresentazione 10/3 = 3.33????? In base tre il risultato dell’operazione e’ rappresentabile: 101/10 = 10.1

4 4 © 1999 Roberto Bisiani Gamma di rappresentazione Le possibilita’ di rappresentare un certo valore non sono uniformi in tutta la gamma di valori rappresentabili. Es. Esponente da –100 a +100 “significand” di 10 cifre

5 5 © 1999 Roberto Bisiani Normalizzazione n Un numero normalizzato ha il significand con una sola cifra prima del punto (virgola) n Se la base di rappresentazione e’ due, il numero prima della virgola non puo’ che essere uno Quindi non occorre rappresentarlo

6 6 © 1999 Roberto Bisiani Standard floating point n I numeri sono sempre normalizzati, cioe’ la parte frazionaria e’ del tipo 1.xxxxxxxxx…. n Il primo 1 non viene rappresentato perche’ implicito n Lo zero si rappresenta con un esponente e frazione a zero

7 7 © 1999 Roberto Bisiani Una possibile rappresentazione floating point n Standard IEEE 754 Singola precisione, 32 bit Doppia precisione, 64

8 8 © 1999 Roberto Bisiani Rappresentazione dell’esponente n Biased, cioe’ “spostata” di meta’ della precisione possibile n Esempio: se l’esponente e’ di 8 bit invece di rappresentare l’esponente in complemento (da –128 a +127) lo si rappresenta come: Esponente reale + 127 Quindi l’esponente reale –127 viene rappresentato come 0, l’esponente reale 0 come 127 e l’esponente reale 127 come 255 n Perche’? Per far si’ che due numeri floating point siano confrontabili in grandezza dagli stessi circuiti che confrontano i numeri interi.

9 9 © 1999 Roberto Bisiani Standard IEEE SingolaDoppia precisione Numero di bit nel segno1 1 Numero di bit nell’esponente8 11 Numero di bit nella frazione23 52 Numero di bit, totale32 64 Rappresentazione dell’esponenteeccesso 127 eccesso 1023 Campo dell’esponenteda -126 a +127 da -1022 a +1023 Numero normalizzato più piccolo2 -126 2 -1022 Numero normalizzato più grandeappr. 2 128 appr. 2 1024 Gamma di numeri decimali rappresentati appr. 10 -38 a 10 38 appr. 10 -308 a 10 308 Numero più piccolo denormalizzatoappr. 10 -45 appr. 10 -324

10 10 © 1999 Roberto Bisiani Esempio n A cosa corrisponde questo numero? n Il bit di segno è 1, mentre il campo esponente contiene 129 e il campo significant contiene 1x2^-2: il numero corrispondente alla notazione è quindi -1.01 x 2^2, che corrisponde al numero decimale -1.25 x 4=-5.0

11 11 © 1999 Roberto Bisiani Esempio n Il numero -0.75 (in base 10) è anche -3/4 (in base 10) oppure -3/2 2. n La sua rappresentazione binaria è quindi -0.11. n Nella notazione scientifica il valore è -0.11 x 2 0, mentre la notazione normalizzata è -1.1 x 2 -1. n La rappresentazione generale per un numero in precisione singola è (-1) S X (1+significand) X 2 (exponent-bias) n Il numero e’ rappresentato come:

12 12 © 1999 Roberto Bisiani Approssimazione n La rappresentazione floating point permette di rappresentare numeri grandi e piccoli ma non sempre permette di rappresentare tutte le cifre significative che sono il risultato di un’operazione aritmetica n In questo caso si approssima il risultato Semplicemente troncando delle cifre – L’errore e’ al massimo uguale al valore della cifra meno significativa Troncando e modificando le cifre rimaste per minimizzare l’errore – Aggiungendo o meno 1 alla cifra meno significativa a seconda che la cifra eliminata sia maggiore o minore della meta’ – L’errore in questo caso e’ la meta’ della cifra meno significativa – Se la cifra troncata e’ esattamente la meta’ non e’ facile scegliere Se si sceglie sempre in un modo si rischia di aumentare gli errori

13 13 © 1999 Roberto Bisiani Somma e sottrazione I numeri devono essere denormalizzati per avere esponente uguale – Se I numeri sono di grandezza molto diversa la denormalizzazione di uno dei numeri puo’ richiedere una sostanziale perdita di precisione (digit “escono” da destra) L’operazione viene fatta sul significand Un eventuale overflow puo’ essere gestito sistemando gli esponenti

14 14 © 1999 Roberto Bisiani Moltiplicazione e divisione n I numeri non devono essere denormalizzati n Gli esponenti vengono sommati (o sottratti) n Eventuali overflow si sistemano aggiustando gli esponenti

15 15 © 1999 Roberto Bisiani Configurazioni speciali n La rappresentazione standard non prevede alcuni casi particolari che sono utili n Denormalizzati: bit prima della virgola e’ zero, rendono meno rapida la transizione tra il piu’ piccolo numero normalizzato rappresentabile e lo zero


Scaricare ppt "1 © 1999 Roberto Bisiani Overflow n Overflow  traboccamento Si verifica se il risultato di un’operazione non puo’ essere rappresentato con il numero di."

Presentazioni simili


Annunci Google