Rappresentazione dei numeri reali

Documenti analoghi
La Rappresentazione delle Informazioni

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

Rappresentazione dei numeri reali in un calcolatore

Rappresentazione dei Numeri

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

Conversione binario-decimale. Interi unsigned in base 2. Esercitazioni su rappresentazione. dei numeri e aritmetica

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

Interi unsigned in base 2. Esercitazioni su rappresentazione dei numeri e aritmetica. Conversione binario-decimale

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

Unità aritmetica e logica

Lezione 3. I numeri relativi

Codifica. Rappresentazione di numeri in memoria

Rappresentazione in virgola mobile. 5 ottobre 2015

Numeri in virgola mobile

Rappresentazione numeri relativi e reali

CALCOLO NUMERICO. Rappresentazione virgola mobile (Floating Point)

Esempio: Il formato floating point standard IEEE P754 (precisione semplice)

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

Sistemi di Numerazione Binaria

N= a i b i. Numeri e numerali. Sistemi di Numerazione Binaria. Sistemi posizionali. Numeri a precisione finita

Rappresentazione di numeri reali. Architetture dei Calcolatori (Lettere. Perché la rappresentazione in virgola mobile

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Numeri in virgola. Marco D. Santambrogio Ver. aggiornata al 10 Novembre 2015

Rappresentazione in virgola fissa. Rappresentazione in virgola mobile (floating point)

Sistemi di Numerazione Binaria

Rappresentazione di numeri reali. Architetture dei Calcolatori (Lettere. Perché la rappresentazione in virgola mobile

Sistemi di Numerazione Binaria

Codifica di informazioni numeriche

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Numeri in virgola. Marco D. Santambrogio Ver. aggiornata al 14 Novembre 2014

Calcolatori Elettronici Parte III: Sistemi di Numerazione Binaria

Calcolo numerico e programmazione Rappresentazione dei numeri

Somma di numeri binari

Algebra di Boole e porte logiche

Rappresentazione numeri reali

Rappresentazione in virgola mobile Barbara Masucci

Informazione binaria: - rappresentazione dei numeri razionali -

codifica in virgola mobile (floating point)

Esercitazione Informatica I (Parte 1) AA Nicola Paoletti

Sperimentazioni di Fisica I mod. A Lezione 3

ESERCITAZIONE. Uso dell accessorio calcolatrice per

Rappresentazione di numeri relativi (interi con segno) Rappresentazione di numeri interi relativi (con N bit) Segno e Valore Assoluto

Laboratorio di Informatica

Rappresentazione di numeri reali. Rappresentazione in virgola mobile. Perché la rappresentazione in virgola mobile. Rappresentazione in virgola mobile

I.4 Rappresentazione dell informazione - Numeri con segno

Rappresentazione. Notazione in complemento a 2. Complemento a due su 3 e 4 bit Complemento a due

Esercizi su Sistemi di Numerazione Binaria. Prof. Riccardo Torlone Università di Roma Tre

Lezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari

La codifica. dell informazione

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

Esercitazione del 09/03/ Soluzioni

Rappresentazione e Codifica dell Informazione

Un quadro della situazione. Lezione 6 Aritmetica in virgola mobile (2) e Codifica dei caratteri. Dove siamo nel corso. Organizzazione della lezione

Sistemi numerici: numeri in virgola mobile Esercizi risolti

Rappresentazione di dati: numerazione binaria. Appunti per la cl. 3 Di A cura del prof. Ing. Mario Catalano

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

12BHD - Informatica - soluzioni Appendice B del quaderno di testo - v. 1.05

Numeri frazionari. sistema posizionale. due modi: virgola fissa virgola mobile. posizionale, decimale

Calcolatori: Rappresentazione dei Dati e Aritmetica binaria

Sistema Numerico Decimale

Analogico vs. Digitale. LEZIONE II La codifica binaria. Analogico vs digitale. Analogico. Digitale

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

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

Numeri binari Conversioni numeriche: decimali-binario Operazioni algebriche con numeri binari Russo ing. Saverio

Rappresentazione dell informazione. Argomenti trattati: Codifica: Teoria generale. Proprietà di una codifica:

Codice binario. Codice. Codifica - numeri naturali. Codifica - numeri naturali. Alfabeto binario: costituito da due simboli


Argomenti trattati: Rappresentazione dell informazione. Proprietà di una codifica: Codifica: Teoria generale

Conversione di base. Conversione decimale binario. Si calcolano i resti delle divisioni per due

Esempio 1: virgola mobile

Aritmetica dei Calcolatori

Aritmetica dei Calcolatori

La codifica binaria. Sommario

Cenni alla rappresentazione dei tipi dato primitivi

I sistemi di numerazione. Informatica - Classe 3ª, Modulo 1

Fondamenti di Informatica

Aritmetica dei Calcolatori

Rappresentazione in virgola mobile

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

Elementi di Informatica e Programmazione

04 Aritmetica del calcolatore

Esercitazione n. 5. Rappresentazione dei numeri

ARCHITETTURE DI ELABORAZIONE. Correzione esercizi di esame

CONVERSIONE BINARIO DECIMALE NB: Convertire in decimale il numero binario N = N =

Aritmetica dei Calcolatori Elettronici

Addizionatori: metodo Carry-Lookahead. Costruzione di circuiti combinatori. Standard IEEE754

Fondamenti di Programmazione. Sistemi di rappresentazione

Lezione 2. Rappresentazione dell informazione

Esercitazione del 2/3/2010- Numeri binari e conversione

Sommario. I Sistemi di numerazione Posizionale e non Posizionale (1/2) I Codici. I Codici I Sistemi di numerazione Posizionali e non posizionali

Interi positivi e negativi

Lezione 2. Rappresentazione dell informazione

Rappresentazione dell informazione

Unità Didattica 2 Rappresentazione dei Dati

Rappresentazione dei Dati

Informatica Generale 02 - Rappresentazione numeri razionali

Rappresentazione dell informazione. Argomenti trattati: Codifica: Teoria generale. Proprietà di una codifica:

Aritmetica dei calcolatori. La rappresentazione dei numeri

Fondamenti di Informatica. Codifiche per numeri decimali: virgola fissa e mobile

Floating pointer adder & Firmware Division. Sommario

Esercizi di Analisi Numerica. Errori, Cambi di base, Numeri macchina, Aritmetica finita

Lo schema seguente presenta le principali informazioni che devono essere rappresentate mediante codici binari.

Transcript:

Rappresentazione dei numeri reali La rappresentazione dei numeri reali in base 2 è completamente analoga a quella in base : Parte intera + parte frazionaria, separate da un punto La parte frazionaria è formata da cifre che pesano le potenze di 2 a esponente negativo. Esempio:. 2 2 +2 +2 + +2-2 +2-4 = 6.325 Conversione: si convertono separatamente la parte intera e quella frazionaria. Esempio: 6.325 6 =.325 x 2 =.625 con parte intera.625 x 2 =.25 con parte intera.25 x 2 =.5 con parte intera.5 x 2 =. con parte intera

Rappresentazione in virgola fissa Si assume prefissata la posizione del punto all interno del registro (fixed point) Con questa convenzione, il valore X rappresentato nel registro è K*2 -p, dove K è il valore che otterremmo se interpretassimo come un intero il contenuto del registro. Qual è l insieme dei valori rappresentabili su un registro a N bit? K:,,2,,2 N - X:, 2 -p, 2*2 -p,, (2 N -)*2 -p

Rappresentazione in virgola fissa Esempio: N=8, p=4 X=,.625,.25,.875,, 5.9375 I numeri sono rappresentati con una certa approssimazione Esempio: tutti i valori compresi tra.325 e.9375 sono rappresentati da.625 Tutti i valori compresi tra e.325 sono rappresentati da. underflow

Esempio di numero in virgola fissa Supponiamo di voler rappresentare il numero 22.35 in virgola fissa in un registro ad 8 bit con p=3. Separiamo parte intera e parte frazionaria: 22 2.35. 2 Posizione del punto p=3

Virgola fissa con segno La codifica dei numeri relativi in complementi alla base si applica in maniera immediata ai numeri reali rappresentati in virgola fissa. La rappresentazione di un numero reale con segno (N bit, punto in posizione p) si ottiene tramite la regola: R(x) se x b N-p -R( x ) se x < dove R(x) è la rappresentazione in virgola fissa di x

Virgola fissa con segno Esempio (N=8, p=3): R(-3.7) = 2 5 -R(3.7) - R(-3.7)

Virgola fissa con segno Possiamo comunque applicare il criterio già visto per ottenere velocemente la rappresentazione in complementi alla base: Per ottenere R(-3.7) si considera R(3.7) e si complementa cifra per cifra aggiungendo al bit meno significativo: R(3.7) +

Precisione della virgola fissa Quantifichiamo l errore assoluto: Err max = 2 -p /2 per p=4 Err max =.325 5% 45% Come fare per diminuire l errore? basta aumentare p, ma qual è l effetto sul range dei numeri rappresentabili? compromesso tra range e precisione Errore relativo 4% 35% 3% 25% 2% 5% % 5% Il problema vero è legato all errore relativo: E rel =Err max /x % 32 64 96 28 6 92 224 256 Rappresentazione

Vantaggi e svantaggi della virgola fissa La rappresentazione in virgola fissa ha innegabili vantaggi: Semplicità Piena compatibilità con la rappresentazione degli interi e possibilità di usare circuiti aritmetici comuni. Ma ha anche grossi problemi: Errore relativo elevato per x Compromesso range/precisione Entrambi legati al fatto che il fattore di scala è fisso.

Rappresentazione in virgola mobile Si potrebbero mitigare i problemi andando a rappresentare esplicitamente il fattore di scala. In questo modo la virgola non è più fissa, ma diventa mobile. Fissata la base b, il valore viene considerato nella forma M*b E (notazione scientifica) ed è rappresentato tramite la coppia (M,E) Esempio: 22.35=.2235* 2 (.2235,2).=.*2 3 (.,) Nel registro saranno quindi prefissate zone diverse per la mantissa e per l esponente.

Rappresentazione in virgola mobile Solitamente M viene rappresentato come numero reale in virgola fissa o in segno e modulo mentre E si rappresenta come numero intero con segno o per eccessi. M è rappresentato su m bit con p cifre frazionarie M:, 2 -p, 2*2 -p,, (2 m -)*2 -p mentre E è rappresentato su e bit E: -2 e-,,+2 e- -. Si ha quindi come estremi dell intervallo: N min =M min *2 E min = 2 -p *2-2^(e-) N max =M max *2 E max = (2 m -)* 2 -p *2 +2^(e-)-

Esempio sulla virgola mobile Rappresentazione in FP di 2.6: 2.6 =. 2 =. * 2 4 Segno: Mantissa:. Esponente: 4+28 = 32 = 2

Rappresentazione normalizzata Con la virgola mobile non c è unicità di rappresentazione: N = M*2 E = (M*2)*2 E- = (M*4)*2 E-2 = (M/2)*2 E+ Quale scegliere? Quella che massimizza la precisione: prima cifra della mantissa diversa da rappresentazione normalizzata L intervallo di rappresentazione si modifica in: N min = 2 m- *2 -p *2-2^(e-)

Rappresentazione normalizzata Esempio: N =.324892 mantissa a 5 cifre decimali Diverse rappresentazioni possibili:.32*.324* -.324* -2.3248* -3 normalizzata

Rappresentazione normalizzata Valutiamo l errore di approssimazione: 5% 45% Errore assoluto massimo: Err max = (2 -p /2)*2 E 4% 35% Pro Errore relativo: E rel = Err max /x Maggiore precisione Contro Errore relativo 3% 25% 2% 5% % 5% Mantissa normalizzata Underflow più frequente % Rappresentazione

Operazioni in floating point Molto più complicate rispetto agli interi e alla virgola fissa Diverse operazioni necessarie: Denormalizzazione per allineare i valori all esponente più alto Sommare le mantisse Normalizzare il risultato e verificare se si è in under/overflow Arrotondare se necessario (può richiedere un ulteriore normalizzazione) Se i segni sono diversi, bisogna calcolare la differenza tra le mantisse e determinare il segno del risultato Operazioni troppo complesse per poter essere effettuate con l unità aritmetica per gli interri.

Lo standard IEEE754 Tre formati: Singola precisione (32 bit: 23 bit mantissa + 8 bit esp. + bit segno) Doppia precisione (64 bit: 52 bit mantissa + bit esp. + bit segno) Quadrupla precisione (28 bit: 2 bit mantissa + 5 bit esp. + bit segno)