La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Rappresentazione di Numeri Reali

Presentazioni simili


Presentazione sul tema: "Rappresentazione di Numeri Reali"— 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 all’interno 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*21 + 1*20 + 0* * *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 0.375 * 2 = 0.75 0.75 * 2 = 1.5 0.5 * 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 un’altra. Es. 1/3 = (0.1)3 = ( ….)10 L’unico caso in cui questo avviene sicuramente è quando si converte da una base ad un’altra che ne è una potenza. ( )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 all’inizio,seguita sempre da 1 (MSB). Es (decimale) = * 103 (binario) = * 22 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 all’esponente

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 * * 104 Quindi devo per prima cosa riportare i due numeri all’esponente più grande 123.5 = * … e poi posso sommare Quindi: .12403 = * 104 = .13638

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 10 = * = 0.1 * 20 Il risultato sarebbe * 24 , ma ho solo 4 bit Quindi il risultato è * 24, e quindi =10!

10 Approssimazioni nelle operazioni
in floating point Apparente paradosso: 10.5 non è rappresentabile con 4 bit, ma 15 sì! 15 = * 24 Per avere un’idea 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"

Presentazioni simili


Annunci Google