Rappresentazione dei numeri Operazioni… come le realizziamo? Somme Moltiplicazioni Divisioni
-
Upload
kristen-mccullough -
Category
Documents
-
view
24 -
download
3
description
Transcript of 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….
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
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
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.
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
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
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.
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
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
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
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
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
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
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
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
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
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
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…