Rappresentazione dei numeri Operazioni… come le realizziamo? Somme Moltiplicazioni Divisioni

18
rso di Architetetture degli Elaboratori, A.A. 2003/2004 1 °Rappresentazione dei numeri Operazioni… come le realizziamo? - Somme - Moltiplicazioni - Divisioni Circuiti….

description

Rappresentazione dei numeri Operazioni… come le realizziamo? Somme Moltiplicazioni Divisioni Circuiti…. Rappresentazione dei naturali. Binario Il numero più grande: 2 n -1 (n bit) Operazioni: come siamo abituati… non è detto che poi vengano realizzate così. Rappresentazione degli interi. - PowerPoint PPT Presentation

Transcript of Rappresentazione dei numeri Operazioni… come le realizziamo? Somme Moltiplicazioni Divisioni

Page 1: Rappresentazione dei numeri Operazioni… come le realizziamo? Somme Moltiplicazioni Divisioni

Corso di Architetetture degli Elaboratori, A.A. 2003/2004 1

°Rappresentazione dei numeri• Operazioni… come le realizziamo?

- Somme

- Moltiplicazioni

- Divisioni

• Circuiti….

Page 2: Rappresentazione dei numeri Operazioni… come le realizziamo? Somme Moltiplicazioni Divisioni

Corso di Architetetture degli Elaboratori, A.A. 2003/2004 2

°Binario

° Il numero più grande: 2n-1 (n bit)

°Operazioni: come siamo abituati… non è detto che poi vengano realizzate così

Rappresentazione dei naturali

Page 3: Rappresentazione dei numeri Operazioni… come le realizziamo? Somme Moltiplicazioni Divisioni

Corso di Architetetture degli Elaboratori, A.A. 2003/2004 3

°Devo rappresentare positivi e negativi

°Ho il problema del segno:

°Soluzione semplice: aggiungo un bit per il segno

• Problematiche le operazioni… meno efficienza

°Soluzioni alternative:• Complemento alla base

• Complemento all’intervallo

• Eccesso a M

Rappresentazione degli interi

Page 4: Rappresentazione dei numeri Operazioni… come le realizziamo? Somme Moltiplicazioni Divisioni

Corso di Architetetture degli Elaboratori, A.A. 2003/2004 4

Complemento alla base

In tale rappresentazione non esiste una cifra per il segno.Per ottenere ,da un numero x=c0+c1+….cm-1 in base b e lunghezza m, il suo opposto –x, si effettua su ciascuna cifra una operazione di complemento rispetto alla base, ossia di complemento rispetto a b-1. In altre parole si sostituisce ogni cifra ci di x con la cifra ci’=b-1-ci.

Osserviamo che se la base è b=2 in realtà si complementa rispetto a b-1=1. Ecco perché in base 2 la rappresentazione in complemento alla base viene chiamata rappresentazione in complemento ad 1.

Page 5: Rappresentazione dei numeri Operazioni… come le realizziamo? Somme Moltiplicazioni Divisioni

Corso di Architetetture degli Elaboratori, A.A. 2003/2004 5

Il bit più pesante è il segno (0 +, 1 -)

Pesi: 3 2 1 0

Cifre: 0 1 0 1

Corrisponde al +5

Il -5 lo ottengo “complementando” le cifre

Pesi: 3 2 1 0

Cifre: 1 0 1 0

Complemento a 1

Page 6: Rappresentazione dei numeri Operazioni… come le realizziamo? Somme Moltiplicazioni Divisioni

Corso di Architetetture degli Elaboratori, A.A. 2003/2004 6

°Ho due rappresentazioni dello 0

°Ho dei problemi se:• Sommo due numeri di segno opposto e il risultato è positivo

• Sommo due numeri negativi e il risultato è positivo

• Il risultato dell’operazione non è rappresentabile

Complemento a 1

Page 7: Rappresentazione dei numeri Operazioni… come le realizziamo? Somme Moltiplicazioni Divisioni

Corso di Architetetture degli Elaboratori, A.A. 2003/2004 7

Complemento all’intervallo

La rappresentazione in complemento all’intervallo permette di rappresentare, analogamente alla rappresentazione in complemento alla base, con m cifre in base b i numeri compresi tra (-bm/2)+1 e (+bm/2)-1.Dato un numero N in base b e di lunghezza m il suo opposto si trova complementando rispetto all’intervallo di numeri rappresentabili cioè facendo bm-N.

Anche in questo caso per la base b=2 abbiamo un nome particolare che è COMPLEMENTO A 2.

Page 8: Rappresentazione dei numeri Operazioni… come le realizziamo? Somme Moltiplicazioni Divisioni

Corso di Architetetture degli Elaboratori, A.A. 2003/2004 8

°Sommo una costante (l’1) al comple-mento a 1 quando “complemento”

Pesi: 3 2 1 0

Cifre: 0 1 0 1

Ora il -5 diventa

Pesi: 3 2 1 0

Cifre: 1 0 1 1

Complemento a 2

Page 9: Rappresentazione dei numeri Operazioni… come le realizziamo? Somme Moltiplicazioni Divisioni

Corso di Architetetture degli Elaboratori, A.A. 2003/2004 9

La linea dei numeri in complemento a 2 ( N=5)

°2 N-1 non-negativi

°2 N-1 negativi

°one zero

°Quanti sono i numeri positivi?

00000 0000100010

1111111110

10000 0111110001

0 12

-1-2

-15 -16 15

.

.

.

.

.

.

-311101

-411100

Page 10: Rappresentazione dei numeri Operazioni… come le realizziamo? Somme Moltiplicazioni Divisioni

Corso di Architetetture degli Elaboratori, A.A. 2003/2004 10

Complemento a due per N=32

0000 ... 0000 0000 0000 0000due =

0ten0000 ... 0000 0000 0000 0001due =

1ten0000 ... 0000 0000 0000 0010due =

2ten. . .0111 ... 1111 1111 1111 1101due =

2,147,483,645ten0111 ... 1111 1111 1111 1110due =

2,147,483,646ten0111 ... 1111 1111 1111 1111due =

2,147,483,647ten1000 ... 0000 0000 0000 0000due =

–2,147,483,648ten1000 ... 0000 0000 0000 0001due =

–2,147,483,647ten1000 ... 0000 0000 0000 0010due =

–2,147,483,646ten. . . 1111 ... 1111 1111 1111 1101due =

–3ten1111 ... 1111 1111 1111 1110due =

–2ten1111 ... 1111 1111 1111 1111due =

–1ten

°Un solo zero, il primo bit è il bit del segno, un negativo in più, non c’è il +2,147,483,648ten

Page 11: Rappresentazione dei numeri Operazioni… come le realizziamo? Somme Moltiplicazioni Divisioni

Corso di Architetetture degli Elaboratori, A.A. 2003/2004 11

Formula per il complemento a due

°Si può passare dai positivi e dai negativi alla rappresentazione in base 10 usando la posizione:

• d31 x -231 + d30 x 230 + ... + d2 x 22 + d1 x 21 + d0 x 20

°Esempio

1111 1111 1111 1111 1111 1111 1111 1100two

= 1x-231 +1x230 +1x229+... +1x22+0x21+0x20

= -231 + 230 + 229 + ... + 22 + 0 + 0

= -2,147,483,648ten + 2,147,483,644ten

= -4ten

°Nota: bisogna dire quanti bit si usano

Page 12: Rappresentazione dei numeri Operazioni… come le realizziamo? Somme Moltiplicazioni Divisioni

Corso di Architetetture degli Elaboratori, A.A. 2003/2004 12

Formula per ottenere l’opposto

° Invertite ogni 0 in 1 ed ogni 1 in 0, poi aggiungete 1 al resultato

• La somma di un numero e del suo complemento ad 1 deve essere 111...111two

• 111...111two= -1ten

• sia x’ la rappresentazione di x invertito

• allora x + x’ = -1 x + x’ + 1 = 0 x’ + 1 = -x

°Esempio: da -4 a +4 a -4x : 1111 1111 1111 1111 1111 1111 1111 1100two

x’: 0000 0000 0000 0000 0000 0000 0000 0011two

+1: 0000 0000 0000 0000 0000 0000 0000 0100two

()’: 1111 1111 1111 1111 1111 1111 1111 1011two

+1: 1111 1111 1111 1111 1111 1111 1111 1100two

Page 13: Rappresentazione dei numeri Operazioni… come le realizziamo? Somme Moltiplicazioni Divisioni

Corso di Architetetture degli Elaboratori, A.A. 2003/2004 13

Complemento a due: il numero di cifre

° Posso passare da n cifre a più di n?

° Basta replicare a sinistra il bit del segno•Il comp. a 2 di un numero positivo ha infiniti 0

•Il comp. a 2 di un numero negativo ha infiniti 1

•Estendendo il segno non cambio il valore

•Da -4 a 16-bit a 32-bit: da 1111 1111 1111 1100two

1111 1111 1111 1111 1111 1111 1111 1100two

Page 14: Rappresentazione dei numeri Operazioni… come le realizziamo? Somme Moltiplicazioni Divisioni

Corso di Architetetture degli Elaboratori, A.A. 2003/2004 14

°Ho solo uno zero (quello 000000000)

°Le operazioni sono corrette: • Perché?

• Discutiamone

Complemento a 2

Page 15: Rappresentazione dei numeri Operazioni… come le realizziamo? Somme Moltiplicazioni Divisioni

Corso di Architetetture degli Elaboratori, A.A. 2003/2004 15

Comparazioni

°Come si potrebbe dire X > Y ?

Attenzione: bisogna sapere che rappresentazione si sta usando

° X = 1111 1111 1111 1111 1111 1111 1111 1100two

° Y = 0011 1011 1001 1010 1000 1010 0000 0000two

° X > Y?• Senza segno: SI

• Con il segno: NO

Page 16: Rappresentazione dei numeri Operazioni… come le realizziamo? Somme Moltiplicazioni Divisioni

Corso di Architetetture degli Elaboratori, A.A. 2003/2004 16

°Di solito si sceglie un M che sia una potenza di 2: se ho n bit 2(n-1)

°M è la costante di polarizzazione

° Il numero viene ottenuto dalla rappresentazione in complemento a 2 sommando la costante di polarizzazione

°Operazioni un po’ più macchinose: costante di polarizzazione

Eccesso M

Page 17: Rappresentazione dei numeri Operazioni… come le realizziamo? Somme Moltiplicazioni Divisioni

Corso di Architetetture degli Elaboratori, A.A. 2003/2004 17

°da 0 a 2(n-1)-1 rappresento in numeri negativi compresi tra -1 e -2(n-1)

°2(n-1) rappresenta lo 0

° le altre codifiche sono per i numeri positivi (tra 1 e 2(n-1)-1)

intervallo tra -2(n-1) e 2(n-1)-1

Eccesso M

Page 18: Rappresentazione dei numeri Operazioni… come le realizziamo? Somme Moltiplicazioni Divisioni

Corso di Architetetture degli Elaboratori, A.A. 2003/2004 18

Ma bastano queste rappresentazioni?

°Parliamo sempre dei numeri… che cosa fare con i numeri con la virgola?

°Vediamo un po’ di soluzioni…