Rappresentazione di Numeri Reali

Slides:



Advertisements
Presentazioni simili
Dall’informazione al linguaggio macchina
Advertisements

Rappresentazioni numeriche
Informatica Generale Susanna Pelagatti
Fondamenti di Informatica
Rappresentazioni dei numeri non interi A. Ferrari.
Rappresentazioni numeriche
Trasmissione delle informazioni
Codifica dei Dati Idea: vogliamo rappresentare dati eterogenei utilizzando un linguaggio che l’elaboratore puo’ facilmente manipolare Essenzialmente vogliamo.
Sistemi di numerazione e codici
Fondamenti di Informatica I Facoltà di Ingegneria Informatica Esercitazione.
1 © 1999 Roberto Bisiani Rappresentazione delle informazioni n Occorre un codice n Legato alla tecnologia usata Robustezza Semplicita Economicita.
Luglio 2002Complementi di algebra binaria1 Complememti di algebra binaria Luglio 2002.
Esercitazioni su rappresentazione dei numeri e aritmetica
Rappresentazione dei dati e codifica delle informazioni
Rappresentazione dei numeri razionali
27+ 12= Risultato troppo grande = = 39 = -25 errore di overflow in binario =
Informatica 3 Codifica binaria.
A.S.E.7.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 7 Errore di rappresentazioneErrore di rappresentazione Fattore di scalaFattore di scala Rappresentazione.
A.S.E.6.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 6 Complemento a MComplemento a M Rappresentazione di numeri con segnoRappresentazione di numeri.
A.S.E.5.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 5 Rappresentazione di numeri con segnoRappresentazione di numeri con segno –Modulo e segno (MS)
Sistemi di Numerazione
Corso di Informatica (Programmazione)
Rappresentazione dei dati
Esistono 10 tipi di persone al mondo: Quelli che conoscono il codice binario & Quelli che non lo conoscono.
Rappresentazione binaria dei numeri interi senza segno.
Rappresentazione dei numeri reali
Codifiche Interne Codifiche Interne
1 Sistemi Digitali. 2 Definizione Analog Waveform Time Voltage (V) 0 5 Digital Waveform Time Voltage (V)
I numeri by iprof.
4) Rappresentazione dei dati in memoria
Il sistema binario.
Gli esseri viventi ricevono informazione direttamente dal mondo circostante e dai propri simili attraverso i sensi (percezione). La percezione, tuttavia,
Codifica binaria Rappresentazione di numeri
Programma del corso Dati e loro rappresentazione Architettura di un calcolatore Sistemi operativi Linguaggi di programmazione Applicativi: - fogli elettronici.
Usare rappresentazioni di lunghezza fissa porta ad avere valori non rappresentabili: Overflow indica un errore nella rappresentazione del risultato in.
Conversione binario - ottale/esadecimale
Conversione binario - ottale/esadecimale
Rappresentazione di Numeri Reali
1 © 1999 Roberto Bisiani Rappresentazione delle informazioni n Occorre un codice n Legato alla tecnologia usata Robustezza Semplicita Economicita.
RAPPRESENTAZIONE DELL’INFORMAZIONE
Rappresentazione dell’informazione
Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
ARITMETICA BINARIA.
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori (Reti Locali, Internet)
Dalle potenze ai numeri binari
Richiami di matematica DALLE POTENZE ALLA NOTAZIONE SCIENTIFICA
Process synchronization
Rappresentazione dell’Informazione
Rappresentazione dell’informazione nel calcolatore.
Uso di tabelle logaritmiche
Rappresentazioni a lunghezza fissa: problemi
Rappresentazione in virgola mobile (floating-point) Permette di rappresentare numeri con ordini di grandezza molto differenti utilizzando per la rappresentazione.
Fondamenti di Informatica
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
1 © 1999 Roberto Bisiani Overflow n Overflow  traboccamento Si verifica se il risultato di un’operazione non puo’ essere rappresentato con il numero di.
Rappresentazione dell'informazione
Rappresentazione dell'informazione 1 Se ho una rappresentazione in virgola fissa (es. su segno e 8 cifre con 3 cifre alla destra della virgola) rappresento.
La codifica dei numeri.
Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Conversione binario-ottale/esadecimale
Rappresentazione degli interi
Rappresentazione dei numeri
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Numeri in virgola Marco D. Santambrogio – Ver. aggiornata al 24 Agosto 2015.
I sistemi di numerazione
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Numeri con segno ed in virgola Marco D. Santambrogio – Ver. aggiornata al 20 Marzo.
La numerazione ottale. Il sistema di numerazione ottale ha ampio utilizzo in informatica E’ un sistema di numerazione posizionale La base è 8 Il sistema.
DEFINIZIONE. La potenza di un numero è il prodotto di tanti fattori uguali a quel numero detto base, quanti ne indica l’esponente. La potenza di un numero.
Appunti su formati numerici. Tipi numerici Il C dispone di due tipi numerici: tipi interi e tipi reali; I tipi reali sono anche detti floating, ovvero.
I numeri relativi DEFINIZIONE. Si dicono numeri relativi tutti i numeri interi, razionali e irrazionali dotati di segno (positivo o negativo). ESEMPI Numeri.
Transcript della presentazione:

Rappresentazione di Numeri Reali Un numero reale è una grandezza continua Può assumere infiniti valori In una rappresentazione di lunghezza limitata, deve di solito essere 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)

Rappresentazione in virgola fissa (fixed-point) 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*100 + 7*10-1 + 5*10-2 (11.011)2 = 1*21 + 1*20 + 0*2-1 + 1*2-2 + 1*2-3 Si ricordi che: N-k = 1 / Nk Quindi 2-1 = ½ 2-2=1/22 = 1/4, ecc.

Rappresentazione in virgola fissa (fixed-point) Utilizzando una rappresentazione su N cifre si assume che la posizione della virgola sia fissa in un preciso punto all’interno della sequenza. Quindi si assegnano k cifre per la parte intera e N-k cifre per la parte inferiore all’unità (che si può impropriamente definire parte decimale) Es. con 8 cifre e 3 cifre ‘decimali’ in base 10 123.45 00123.450 in base 2 111.1 00111.100

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. 19.375 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 = (10011.011)2

Rappresentazione in virgola mobile (floating-point) Se ho una rappresentazione in virgola fissa (es. segno e 8 cifre con 3 cifre alla destra della virgola) rappresento numeri (base 10) compresi fra -99999.999 e 99999.999 Non posso rappresentare, quindi: numeri che richiedono più di 5 cifre intere, cioè maggiori di 99999.999 (es. 1000000) numeri che richiedono più di 3 cifre alla destra della virgola, come ad es. 123.0001

Rappresentazione in virgola mobile (floating-point) Utilizza la cosiddetta notazione scientifica (esponenziale) Nel formato esponenziale un numero N viene espresso nella seguente forma b base del sistema di numerazione m mantissa del numero e esponente (intero con segno)

Rappresentazione in virgola mobile (floating-point) Fissata la base, per rappresentare un numero reale è necessario rappresentare segno, mantissa ed esponente. La mantissa si suppone in virgola fissa con la virgola all’inizio, seguita sempre da una cifra diversa da zero. Es (base 10) 523.45 = .52345 * 103 (base 2) 11.1011 = .111011 * 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, ovvero a spostare la virgola di un uguale numero di posizioni in senso opposto.

Rappresentazione in virgola mobile (floating-point) Permette di rappresentare numeri con ordini di grandezza molto differenti utilizzando per la rappresentazione un insieme limitato di cifre Con un bit per il segno, N cifre a disposizione per la mantissa, più M cifre per l’esponente) posso rappresentare in modo esatto i numeri che hanno meno di N cifre fra la cifra più significativa e quella meno significativa.

Rappresentazione in virgola mobile (floating-point) Se si usa una rappresentazione a B bit, 1 rappresenta il segno, quindi le quantità di bit utilizzati per mantissa ed esponente (N e M) devono soddisfare la relazione N + M = B - 1 Il numero di cifre usate per l’esponente determina di quante posizioni posso spostare la virgola rispetto alla posizione ‘standard’ (a sinistra della cifra più significativa della mantissa) Lo spostamento della virgola può avvenire sia verso destra (moltiplicazione) che verso sinistra (divisione), quindi l’esponente è un numero relativo e come tale deve essere rappresentato (complemento a 2).

Approssimazioni nelle operazioni in floating point Quando il numero di cifre necessarie per una rappresentazione corretta del risultato di un’operazione è maggiore del numero di cifre a disposizione, il numero viene troncato: si trascurano cioè le cifre meno significative per le quali “non c’è spazio”. Es. Supponendo di usare 4 bit per la mantissa 13 + 0.5 13 = .1101 * 24 0.5 = 0.1 * 20 Il risultato sarebbe 0.11011 * 24 , ma ho solo 4 bit Quindi il risultato è 0.1101 * 24, e quindi 13+0.5=13!

Codifica floating point: esempi Supponiamo di usare 1 bit di segno, 4 per la mantissa e 3 per l’esponente (+2.25)10 E’ positivo, quindi il bit di segno s = 0 (2)10 = (10)2 Converto la parte inferiore all’unità 0.25 x 2 = 0.5 0.5 x 2 = 1.0 quindi (2.25)10 = (10.01)2 Quindi la mantissa m = 1001 Per determinare il segno so che m = 1001 rappresenta il valore .1001 (normalizzazione). Ma (10.01)2 = (.1001)2 x 22, quindi l’esponente deve essere 2, quindi e = 010

Codifica floating point: esempi Viceversa: Es.1 s=0 m=1011 e=001 Il bit di segno s = 0, quindi è positivo e rappresenta il numero + .1011 x 21 = +(1.011)2 = +(1.375)10 Es.2 s=1 m=1001 e=111 Il bit di segno s = 1, quindi è negativo e rappresenta il numero ( (111)2 = (- 1)10 ) - .1001 x 2-1 = -(0.01001)2 = -(0.28125)10 (1/4 + 1/32)

Esercizi In una rappresentazione binaria in virgola fissa con 6 bit per la parte intera e 4 per la parte ‘decimale’: posso rappresentare il numero (in base 10) 16-1 ? quale è il massimo intero che posso rappresentare ? In una rappresentazione in virgola mobile con 8 bit di mantissa e 3 di esponente: Posso rappresentare il numero (in base 10) 1.03125 ? Come rappresento il numero 12.625 ?