codifica in virgola mobile (floating point)

Documenti analoghi
Codifica binaria dei numeri

Rappresentazione binaria

Rappresentazione binaria

Rappresentazione dei numeri reali in un calcolatore

Informatica Generale 02 - Rappresentazione numeri razionali

Codifica dell informazione numerica

Rappresentazione di numeri reali

Rappresentazione dei numeri reali in un calcolatore

Rappresentazione virgola mobile (Floating Point)

Codifica dei Numeri. Informatica B 12 Novembre 2014 Giacomo Boracchi Informatica B, AA 14/15, Giacomo Boracchi

Rappresentazione dei numeri reali in un calcolatore

Rappresentazione numeri reali

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

Fundamentals of Computer Science

Codifica. Rappresentazione di numeri in memoria

Rappresentazione in virgola mobile Barbara Masucci

Numeri frazionari nel sistema binario

Codifica dell Informazione per il Calcolo Scientifico

Calcolatori Elettronici

Architettura degli Elaboratori e Laboratorio. Matteo Manzali Università degli Studi di Ferrara Anno Accademico

Rappresentazione binaria

= = = Codifica dell informazione

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

Rappresentazione dei numeri reali

Paolo Bison. Fondamenti di Informatica A.A. 2006/07 Università di Padova

= = =

Rappresentazione binaria

Parte III Indice. Rappresentazione dei valori frazionari. Esercizi. in virgola fissa in virgola mobile III.1. Fondamenti di Informatica

Rappresentazione dei Numeri in Virgola Mobile Valeria Cardellini

Architetture dei Calcolatori (Lettere

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

Rappresentazione dei numeri reali

Sistemi di Numerazione Binaria

Codifica dell informazione numerica

Codifica dell informazione numerica. Matteo Re, Nicola Basilico,

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

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

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

La codifica binaria. Sommario

Sistemi di Numerazione Binaria a i b i. a m a m-1... a 0. a -1 a a -k

Sistemi di Numerazione Binaria

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

Rappresentazione di numeri in virgola mobile

Calcolatori Elettronici Parte III: Sistemi di Numerazione Binaria

Rappresentazione dell informazione

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

Sistemi di Numerazione Binaria

Informazione binaria: - rappresentazione dei numeri razionali -

Conversione binario-ottale/esadecimale. Conversione binario-ottale/esadecimale. Rappresentazione di Numeri Interi Positivi (numeri naturali)

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

Somma di numeri binari

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

ESERCITAZIONE. Uso dell accessorio calcolatrice per

Rappresentazione dell informazione

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

Rappresentazione dell Informazione

Laboratorio di Informatica

Numerazione Simbolica

Sistemi numerici: numeri in virgola mobile Esercizi risolti

Corso di Fondamenti di Informatica Rappresentazione dei dati numerici Aritmetica dei registri Anno Accademico 2011/2012 Francesco Tortorella

UD 1.2e: La codifica Digitale dei Numeri CODIFICA DIGITALE DEI NUMERI

Modulo 1: Le I.C.T. UD 1.2e: La codifica Digitale dei Numeri

Esercitazione n. 5. Rappresentazione dei numeri

Richiami sulla rappresentazione dei numeri

Sistemi di Elaborazione delle Informazioni

Rappresentazione dell informazione

Rappresentazione dell informazione

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

La codifica. dell informazione

Rappresentazione dell informazione

La codifica binaria. Fondamenti di Informatica. Daniele Loiacono

Rappresentazione dei numeri. Rappresentazione di insiemi numerici mediante insiemi finiti di stringhe di bit Problemi:

Numeri in virgola mobile

Rappresentazione dei dati

Algebra di Boole e porte logiche

Operazioni artimetiche

Unità aritmetica e logica

Lezione 1. Rappresentazione dei numeri. Aritmetica dei calcolatori. Rappresentazione dei numeri naturali in base 2

FONDAMENTI DI INFORMATICA I Prof. Negri

Rappresentazione numeri relativi e reali

Rappresentazione dei Dati

numeri razionali («con la virgola, e sviluppo finito oppure periodico»)

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

Numeri reali. Sistema in virgola mobile (floating point)

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

Rappresentazione dei dati

Lezione 2. Rappresentazione dell informazione

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

L Aritmetica del Calcolatore

Rappresentazione in virgola fissa (fixed-point) Rappresentazione di Numeri Reali. Conversione decimale-binario di numeri non interi

Rappresentazione in virgola mobile (floating-point) Rappresentazione in virgola mobile (floating-point)

Numeri con segno ed in virgola

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

Nei linguaggi di programmazione

Sistemi numerici: numeri in virgola mobile

Introduzione. Introduzione

Numeri Frazionari. Numeri Frazionari

Numeri floating point

Transcript:

codifica in virgola mobile (floating point) Del tutto simile a cosiddetta notazione scientifica o esponenziale Per rappresentare in modo compatto numeri molto piccoli o molto grandi e.g. massa dell elettrone è 9.1095 10 31 Kg separate parti che descrivono - ordine di grandezza (potenza di una data base: 10-31 ) - precisione con cui è noto il valore (cifre significative: 9.1095) Ogni numero razionale R esprimibile come segue R = (±1) N b E N numero 0, con parte intera e parte frazionaria b - base b > 1 E - esponente intero con segno (i.e., positivo, nullo o negativo) tipicamente N ed E sono rappresentati separatamente, con gruppi di bit distinti A parità di precisione, numero di cifre dopo la virgola può cambiare giocando sull esponente e.g.: 0,06789013245 10 15 = 6,789013245 10 13-1 -

Numero in virgola mobile detto normalizzato se nella parte N virgola posta subito a dx della prima cifra 0 e.g.: 0,06789013245 10 15 NON normalizzato 6,789013245 10 13 NORMALIZZATO Forma normalizzata vantaggiosa se numero cifre (i.e., bit) disponibili per rappresentare N è limitato permette di evitare zeri iniziali inutili e.g.: avendo a disposizione per N solo 10 cifre si ottiene 0,067890132 10 15 oppure 6,789013245 10 13 la seconda chiaramente più vantaggiosa: tutte le cifre sono significative Standard IEEE 754-1985 Quattro diversi formati, differiscono nel numero totale dei bit utilizzati Quelli più diffusi: - precisione singola: 32 bit - precisione doppia 64 bit - precisione tripla 128 bit Rappresentazione divisa in tre parti: Si assume base b = 2 per il segno (1 bit) per N rappresentazione detta mantissa per esponente E rappresentazione detta caratteristica - 2 -

Dettaglio della codifica in precisione singola Segno caratteristica (8 bit) mantissa (23 bit) Codifica complicata dalla necessità di rappresentare alcuni valori particolari - NaN (Not a Number, risultato di operazioni non ammesse, e.g., 0/0) - + e - (e.g. in matlab 3/0=inf) - Il valore 0 (meno banale di quanto sembri ) Soluzione: usate due configurazioni estreme della caratteristica 00000000 e 111111111 per questi valori speciali Rappresentazione del segno dell esponente: 254 configurazioni da 00000001 a 11111110 considerate rappresentazioni dei numeri da 1 a 254 (codifica posizionale) Si fa in modo che le 254 configurazioni (valori da 1 a 254) rappresentino intervallo di valori dell esponente (quasi) esattamente centrati sullo 0 usando Notazione eccesso K : la caratteristica memorizza il valore dell esponente aumentato di K Se caratteristica ha k bit allora si sceglie K = 2 k-1-1 e.g., con k=8 si memorizza esponente aumentato di K = 2 7 1 = 127-3 -

caratteristica = 250 esponente rappresentato = +123 caratteristica = 80 esponente rappresentato = -47 caratteristica = 132 esponente rappresentato = +5 N rappresentato in forma normalizzata. NB: in binario solo due cifre cifra prima della virgola sempre 1 lascata sottintesa i 23 bit della mantissa rappresentano solo la parte frazionaria di N in forma normalizzata Casi particolari NaN caratteristica 255 e mantissa qualsivoglia (NB: molte possibili rappresentazioni) + bit di segno 0, caratteristica 255 (11111111), mantissa 0 (00000000000000000000000) - bit di segno 1, caratteristica 255 (11111111), mantissa 0 (00000000000000000000000) 0 bit di segno qss, caratteristica 0, mantissa 0 ( due rappresentazioni, come se ci fossero +0 e -0) - 4 -

Quadro riassuntivo c m 0 m 0 NB 0 v = 0 v = (-1) S 2-126 0.m 1 1 c 254 v = (-1) S 2 c-127 1.m 254 255 v=+ s=0 s=1 v=- v = NaN Rappresentazione di numeri molto piccoli in valore assoluto La forma normalizzata (1 prima della virgola) impedisce rappresentazione valori v con v <2-127 con c=0 si assume 0.m invece di 1.m così si possono usare anche i bit 0 della mantissa per rimpicciolire È quasi come dividere per 2 per avere continuità nei valori rappresentati si moltiplica per 2-126 - 5 -

Esempio di rappresentazione in precisione singola v = 42.6875 10 = 101010.1011 2 = 1.010101011 2 2 5 Si ha s = 0 (1 bit) c = 5 + K = 5 10 + 127 10 = 132 10 = 10000100 2 (8 bit) m = 01010101100000000000000 (23 bit) rappresentazione è giustapposizione di s, c, ed m: 0 10000100 01010101100000000000000-6 -

PROPRIETÀ FONDAMENTALE DELLA CODIFICA NB. I circa 4 miliardi di configurazioni (usati 32 bit) consentono di coprire un campo di valori molto ampio grazie alla distribuzione non uniforme per numeri piccoli in valore assoluto valori rappresentati sono «fitti», per numeri grandi in valore assoluto valori rappresentati sono «diradati» Approssimativamente gli intervalli tra valori contigui sono: per valori di 10000 l intervallo è di un millesimo per valori di 10 milioni l intervallo è di un unità per valori di 10 miliardi l intervallo è di mille ecc. - 0 +? Perché? Si può dare una semplice spiegazione, basata sul numero dei bit allocati per caratteristica e mantissa - 7 -