La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Rappresentazione di Numeri Reali Un numero reale è una grandezza analogica (continua) e quindi è rappresentabile solo in modo approssimato. Esistono due.

Presentazioni simili


Presentazione sul tema: "Rappresentazione di Numeri Reali Un numero reale è una grandezza analogica (continua) e quindi è rappresentabile solo in modo approssimato. Esistono due."— Transcript della presentazione:

1 Rappresentazione di Numeri Reali Un numero reale è una grandezza analogica (continua) e quindi è rappresentabile solo in modo approssimato. Esistono due forme per rappresentare un numero reale –Segno, parte intera, parte decimale (rappresentazione in virgola fissa) –Segno, mantissa, esponente (rappresentazione in virgola mobile)

2 Rappresentazione in virgola fissa (fixed-point) Utilizzando una rappresentazione su N bit si assume che la posizione della virgola sia fissa in un preciso punto allinterno della sequenza. Quindi si assegnano k bit per la parte intera e N-k bit per la parte decimale NB In una rappresentazione di tipo posizionale le cifre alla destra della virgola vengono moltiplicate per potenze negative della base Es. (5.75) 10 = 5* * *10 -2 (11.011) 2 = 1* * * * *2 -3

3 Conversione decimale-binario di numeri non interi La parte intera si converte col metodo delle divisioni successive Per la parte alla destra della virgola: –si moltiplica la parte a destra della virgola per 2 –si prende la parte intera del risultato come cifra utile –si ripetono i 2 passi precedenti finché la parte a destra della virgola non diventa 0 Es Sappiamo che (19) 10 = (10011) * 2 = * 2 = * 2 = 1.0 Quindi (19.375) 10 = ( ) 2

4 Osservazione importante Non è detto che un numero che ha una rappresentazione finita in una base, abbia una rappresentazione finita anche in unaltra. Es. 1/3 = (0.1) 3 = ( ….) 10 Lunico caso in cui questo avviene sicuramente è quando si converte da una base ad unaltra che ne è una potenza. Es. ( ) 2 = (5346.3) 8

5 Rappresentazione in virgola mobile (floating-point) Ricorda la notazione scientifica dei numeri Si riescono a manipolare numeri con ordini di grandezza molto differenti utilizzando per la rappresentazione un insieme limitato di bit Nel formato esponenziale un numero N viene espresso nella seguente forma b base del sistema di numerazione m mantissa del numero e esponente

6 Rappresentazione in virgola mobile (floating-point) b è 2 (la base è prefissata) Quindi per rappresentare un numero reale ci basta rappresentare mantissa ed esponente. La mantissa si suppone in virgola fissa con la virgola allinizio,seguita sempre da 1 (MSB). Es (decimale) = * 10 3 (binario) = * 2 2 Ricorda: moltiplicare (dividere) un numero per una potenza della base equivale a far scorrere a sinistra (destra) il numero di un numero di posizioni pari allesponente

7 Rappresentazione standard Su 32 bit –1 bit per segno del numero –8 bit per esponente (generalmente rappresentato in complemento a due) –23 bit per la parte frazionaria della mantissa –la parte non frazionaria (0) e la prima cifra (1) della mantissa vengono sottintese –0 può avere segno positivo o negativo

8 Somma di due numeri in virgola mobile Quando si fanno somme, anche a mano, per sommare due numeri è necessario incolonnarli. In una rappresentazione in virgola mobile questo significa uguagliare gli esponenti. Es. (decimale) In virgola mobile.1235 * * 10 4 Quindi devo per prima cosa riportare i due numeri allesponente più grande = * 10 4 … e poi posso sommare Quindi: = * 10 4 =

9 Approssimazioni nelle operazioni in floating point Quando la distanza fra la cifra più significativa e quella meno significativa è maggiore del numero di cifre a disposizione, il numero deve essere troncato: si trascurano cioè le cifre meno significative per le quali non cè spazio. Es. Supponendo di usare 4 bit per la mantissa =.1101 * = 0.1 * 2 0 Il risultato sarebbe * 2 4, ma ho solo 4 bit Quindi il risultato è * 2 4, e quindi =10!

10 Approssimazioni nelle operazioni in floating point Apparente paradosso: 10.5 non è rappresentabile con 4 bit, ma 15 sì! 15 =.1111 * 2 4 Per avere unidea della precisione con cui opera un calcolatore (numero N di bit con cui rappresenta la mantissa in floating point) si definisce precisione di macchina (epsilon) il più piccolo numero che sommato a 1 dà un risultato diverso da 1. Maggiore è N, più piccolo è epsilon.


Scaricare ppt "Rappresentazione di Numeri Reali Un numero reale è una grandezza analogica (continua) e quindi è rappresentabile solo in modo approssimato. Esistono due."

Presentazioni simili


Annunci Google