Rappresentazione dei dati

Documenti analoghi
Rappresentazione dei dati

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

Rappresentazione dei dati

Rappresentazione dei numeri reali

Università degli Studi di Cassino

Università degli Studi di Cassino e del Lazio Meridionale

Università degli Studi di Cassino

Rappresentazione dei numeri

La Rappresentazione delle Informazioni

Rappresentazione dei dati

Università degli Studi di Cassino Corso di Calcolatori Elettronici

La rappresentazione dei numeri reali in base 2 è completamente analoga a quella in base 10: Parte intera + parte frazionaria, separate da un punto

Università degli Studi di Cassino

Numeri reali. Un numero reale X può essere espresso nella forma. X = f x 10 E. X = 0,314 x 10 1

Rappresentazione dei Numeri

Informatica Generale 02 - Rappresentazione numeri razionali

Rappresentazione dei Numeri in Virgola Mobile Valeria Cardellini

Calcolatori Elettronici

Numeri reali. Sistema in virgola mobile (floating point)

Fundamentals of Computer Science

Calcolatori Elettronici Parte III: Sistemi di Numerazione Binaria

Rappresentazione dei numeri reali in un calcolatore

Architetture dei Calcolatori (Lettere

Richiami sulla rappresentazione dei numeri

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

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

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

Rappresentazione dei numeri reali in un calcolatore

Sistemi di Numerazione Binaria

Rappresentazione numeri relativi e reali

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

Rappresentazione di numeri reali

Codifica dell Informazione per il Calcolo Scientifico

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

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

Rappresentazione dei numeri reali in un calcolatore

Sistemi di Numerazione Binaria

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

Sistemi di Numerazione Binaria

Lezione 2. Rappresentazione dell informazione

Numeri in virgola mobile

Lezione 2. Rappresentazione dell informazione

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

Informazione binaria: - rappresentazione dei numeri razionali -

Operazioni artimetiche

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

Rappresentazione binaria

Rappresentazione dell informazione

Rappresentazione numeri reali

Rappresentazione in virgola mobile. 5 ottobre 2015

Rappresentazione binaria

Rappresentazione dei numeri reali

Codifica di informazioni numeriche

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

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

Algebra di Boole e porte logiche

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

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

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

Sistema Numerico Decimale

Numeri con segno ed in virgola

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

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

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

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

Rappresentazione dell informazione

Calcolo numerico e programmazione Rappresentazione dei numeri

Politecnico di Bari Sede di Foggia. docente: Prof. Ing. Michele Salvemini

Sommario. Sistema binario. I Sistemi di numerazione. Codifica ASCII. Valori Numerici Negativi. Valori Numerici Reali. Posizionali e non posizionali

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

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

Rappresentazione in virgola mobile Barbara Masucci

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

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

Rappresentazione dell Informazione

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

Rappresentazione in virgola mobile. 4 ottobre 2018

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

Unità aritmetica e logica

Numeri frazionari nel sistema binario

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

Corso di Calcolatori Elettronici I

Rappresentazione delle informazioni

= = = Codifica dell informazione

Codifica dell informazione

Introduzione. Introduzione

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

= = =

Informatica e Laboratorio di Programmazione Sistema Binario Alberto Ferrari. Alberto Ferrari Informatica e Laboratorio di Programmazione

Rappresentazione dei Dati

Rappresentazione dell' informazione. Cenni, necessari per capire le caratteristiche dei tipi di dato e delle limitazioni dell'aritmetica del computer

Codifica dell informazione numerica

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

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

Rappresentazione dell Informazione. Emilio Di Giacomo e Walter Didimo

La codifica. dell informazione

Codifica dell informazione numerica. Matteo Re, Nicola Basilico,

Transcript:

Rappresentazione dei dati

Rappresentazione dei dati Rappresentazione in base 2 e base 6 Aritmetica dei registri

Come rappresentiamo i numeri? Base di numerazione: dieci Cifre: 2 3 4 5 6 7 8 9 Rappresentazione posizionale possibile per la presenza dello zero Esempio: 32 = (3x 3 ) + (2x 2 ) + (x ) + (x )

In generale Rappresentazione in base B B- cifre 2 B- Rappresentazione dei numeri: d 3 d 3... d 2 d d è un numero a 32 cifre valore = d 3 x B 3 + d 3 x B 3 +... + d 2 x B 2 + d x B + d x B

Altre basi B=2 : cifre: x2 6 + x2 5 + x2 4 + x2 3 + x2 2 + x2 + x = 64 + 6 + 8 + 2 = 9 7 cifre binarie 2 cifre decimali B=6 : cifre: 2 3 4 5 6 7 8 9 A B C D E F 524 5x6 2 + 2x6 + 4x = 36 3 cifre esadecimali 4 cifre decimali

Siccome 6=2 4, il passaggio tra le rappresentazioni in base 2 e in base 6 è molto semplice: 3F9 6 base 6 2 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 A B 2 C 3 D 4 E 5 F

Quale base usare? Decimale naturale per gli esseri umani. Esadecimale utile (agli esseri umani) per esaminare lunghe stringhe di bit Binaria rappresentazione ottimale per il calcolatore

Conversione base base 2 (interi) Come ottenere la rappresentazione in base 2 di un numero intero T rappresentato in base? Supponiamo: T=c n- x2 n- + c n-2 x2 n-2 + + c 2 x2 2 + c x2 + c x2 c i {,} Non conosciamo: le cifre c i il numero di cifre n

Conversione base base 2 (interi) T=c n- x2 n- + c n-2 x2 n-2 + + c 2 x2 2 + c x2 + c x2 = (c n- x2 n-2 + c n-2 x2 n-3 + + c 2 x2 + c ) x2 + c = Q x2 + c Q = T div 2 c = T mod 2 Q = (c n- x2 n-3 + c n-2 x2 n-4 + + c 2 )x2 + c = Q x2 + c Q = Q div 2 c = Q mod 2

Aritmetica dei registri I registri di memoria sono supporti di lunghezza finita Ciò impone delle restrizioni all insieme di numeri rappresentabili e, di conseguenza, dei vincoli all aritmetica Registro a N bit 2 N valori diversi rappresentabili Es.: 8 bit 256 valori possibile rappresentare l intervallo [,255]

Aritmetica dei registri Non ci sono problemi nel caso in cui l operazione produce un risultato rappresentabile nel registro + 9 + = 3 7 = 2 4 6

Aritmetica dei registri Se l operazione fornisce un risultato R non rappresentabile, si produce un riporto uscente dal registro, mentre all interno rimane una parte della rappresentazione del risultato (R mod 2 N ) + 2 3 7 + = 3 7 = 3 7 4 8

Aritmetica dei registri L aritmetica dei registri a N bit è caratterizzata da una congruenza mod 2 N 3 3 2... +4... Quindi: 3+4=2! 7 6 5

Aritmetica dei registri Il riporto uscente dal registro, generato da un addizione tra numeri interi, si definisce carry Il prestito uscente dal registro, generato da una sottrazione tra numeri interi, si definisce borrow 4 + 2 + + 26 6 4 carry 4-2 - - 26 2 6 borrow

Rappresentazione dei dati Rappresentazione in segno e modulo Rappresentazione in complementi alla base

Rappresentazione dei numeri negativi Soluzione più immediata: segno + modulo +/- modulo Possibile convenzione: + - Problemi dove mettere il segno? doppia rappresentazione per lo zero (+, -) operazioni alquanto complicate

Rappr. segno e modulo L intervallo di numeri rappresentati è [-2 N- +2 N- ] Lo zero è rappresentato due volte + +2 +3.... +4 +5 - -2.... -3-4 -5

Rappresentazione dei numeri negativi Soluzione alternativa Che cosa succede in un registro a N bit quando si sottrae un numero da? - = 3 3 2... 23-9 7 6 5...

Complementi alla base -2-2... -5-6 5... Caratteristiche: 2 N- non-negativi 2 N- negativi uno zero quanti positivi? confronto? rappr. dello zero

Complementi alla base L intervallo di numeri rappresentati è [-2 N- +2 N- -] La rappresentazione di un numero x nell intervallo è data da R(x)=(x+2 N ) mod 2 N Il bit più significativo è indicativo del segno ( bit di segno ) + +2 +3.... +4 +5-6 -5-4.... -3-2 -

Operazioni in complemento alla base Le addizioni si realizzano direttamente sulle rappresentazioni in quanto R(x+y)=R(x)+R(y) Anche le sottrazioni si valutano tramite addizioni, ponendo x-y come x+(-y); di conseguenza R(x-y)=R(x)+R(-y) Nel caso in cui l operazione produce un numero al di fuori dell intervallo di rappresentazione si ha un overflow

Operazioni in complemento alla base +4 +4 +2 + -2 + +6 +2-4 +5-6 -2 + +4 + -3 + -6-7 +7 overflow

Rappresentazione dei dati Rappresentazione in virgola fissa

Conversione base base 2 (frazionari) Consideriamo un numero F minore di. F = c - x2 - + c -2 x2-2 + + c -n x2 -n c i {,} Fx2 = c - + (c -2 x2 - + + c -n x2 -(n-) ) = c - + P P < P x2=c -2 +(c -3 x2 - + + c -n x2 -(n-2) ) = c -2 + P 2

Rappresentazione dei numeri reali Come rappresentiamo 22.35? A differenza dei numeri interi, per rappresentare i numeri reali è necessario codificare la posizione del punto frazionario Due soluzioni: Codifica esplicita Codifica implicita Con la codifica esplicita dovremmo rappresentare sia il numero che il suo fattore di scala antieconomico e complicato

Rappresentazione in virgola fissa Con la codifica implicita, si assume prefissata la posizione del punto all interno del registro Rappresentazione in virgola fissa (fixed point) Esempio: Posizione del punto p=3 il numero rappresentato è.

Rappresentazione in virgola fissa 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 Esempio: N=8, p=4 X=,.625,.25,.875,, 5.9375

.9375.875.825.75.6875 Rappresentazione.625.5625.5.4375.375.325.25.875.25.625.625.25.875.25.325.375.4375.5.5625.625.6875.75.825.875.9375 Valore da rappresentare

Rappresentazione in virgola fissa 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

.25 Rappresentazione.625 underflow.5625.325.46875.625 Valore da rappresentare

Rappresentazione di un 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

Precisione della virgola fissa Quantifichiamo l errore assoluto: Err max = 2 -p /2 per p=4 Err max =.325 Come fare per diminuire l errore? basta aumentare p, ma qual è l effetto sul range dei numeri rappresentabili? compromesso tra range e precisione Ricordiamo che X:, 2 -p, 2*2 -p,, (2 N -)*2 -p

Precisione della virgola fissa 5% Il problema vero è legato all errore relativo: E rel =Err max /x Errore relativo 45% 4% 35% 3% 25% 2% 5% % Alternative? 5% % 32 64 96 28 6 92 224 256 Rappresentazione

Rappresentazione dei dati Rappresentazione in virgola mobile

Rappresentazione in virgola 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 Come si rappresentano M ed E? M numero reale segno e modulo virgola fissa E numero intero con segno eccessi La disposizione nel registro facilita il confronto +/- E M

Intervallo di numeri rappresentabili M rappresentato su m bit con p cifra frazionarie M:, 2 -p, 2*2 -p,, (2 m -)*2 -p E rappresentato su e bit E: -2 e-,,+2 e- - N min =M min *2 Emin = 2 -p *2-2 e- e- N max =M max *2 Emax = (2 m -)* 2 -p *2 +2 -

Intervallo di numeri rappresentabili Esempio: m=23 p=23 e=8 N min = 2-23 *2-28 3.5* -46 N max = (2 23 -)*2-23 *2 27.7* +38

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

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

Rappresentazione normalizzata L intervallo di rappresentazione si modifica : N min = 2 m- *2 -p *2-2 e- Esempio: m=23 p=23 e=8 N min = 2-23 *2-28 3.5* -46 (non normalizzata) N min = 2 22 *2-23 *2-28.5* -39 (normalizzata)

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

Lo standard IEEE754 Due formati 32 bit: 23 bit mantissa + 8 bit esp. + bit segno 64 bit: 52 bit mantissa + bit esp. + bit segno Mantissa con hidden bit N =(-) s *(.M)*2 E-27 Esponente polarizzato I valori e 255 sono riservati Intervallo di rappresentazione.8* -38, 3.4* 38 Underflow graduale, denormalizzazione

Lo standard IEEE 754 Permette la rappresentazione di casi particolari: NaN ( /, sqrt(-2 k ) ) +, - E 255 255 M = N NaN (-) s denormalizzato (-) s *2-26 *(.M)