°Rappresentazione dei numeri
• Operazioni… come le realizziamo?
- Somme
- Moltiplicazioni
- Divisioni
• Circuiti….
Corso di Architetetture degli Elaboratori, A.A. 2003/2004
1
Rappresentazione dei naturali
°Binario
°Il numero più grande: 2n-1 (n bit)
°Operazioni: come siamo abituati… non
è detto che poi vengano realizzate così
Corso di Architetetture degli Elaboratori, A.A. 2003/2004
2
Rappresentazione degli interi
°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
Corso di Architetetture degli Elaboratori, A.A. 2003/2004
3
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
4
Complemento a 1
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
Corso di Architetetture degli Elaboratori, A.A. 2003/2004
5
Complemento a 1
°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
Corso di Architetetture degli Elaboratori, A.A. 2003/2004
6
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
7
Complemento a 2
°Sommo una costante (l’1) al complemento a 1 quando “complemento”
Pesi:
3 2 1
Cifre:
0 1 0 1
0
Ora il -5 diventa
Pesi:
3 2
Cifre:
1 0 1 1
Corso di Architetetture degli Elaboratori, A.A. 2003/2004
1 0
8
La linea dei numeri in complemento a 2 ( N=5)
00000 00001
11111
11110
00010
-1 0 1
11101
2
-2
-3
11100
-4
.
.
.
.
.
.
°2 N-1 nonnegativi
°2 N-1 negativi
°one zero
°Quanti sono i
numeri
positivi?
-15 -16 15
10001 10000 01111
Corso di Architetetture degli Elaboratori, A.A. 2003/2004
9
Complemento a due per N=32
0000 ... 0000 0000 0000 0000due =
0ten
0000 ... 0000 0000 0000 0001due =
1ten
0000 ... 0000 0000 0000 0010due =
2ten
...
0111 ... 1111 1111 1111 1101due =
2,147,483,645ten
0111 ... 1111 1111 1111 1110due =
2,147,483,646ten
0111 ... 1111 1111 1111 1111due =
2,147,483,647ten
1000 ... 0000 0000 0000 0000due = –2,147,483,648ten
1000 ... 0000 0000 0000 0001due = –2,147,483,647ten
1000 ... 0000 0000 0000 0010due = –2,147,483,646ten
...
1111 ... 1111 1111 1111 1101due =
–3ten
1111 ... 1111 1111 1111 1110due =
–2ten
1111 ... 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
10
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
11
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 -4
x : 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
12
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
13
Complemento a 2
°Ho solo uno zero (quello 000000000)
°Le operazioni sono corrette:
• Perché?
• Discutiamone
Corso di Architetetture degli Elaboratori, A.A. 2003/2004
14
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:
• Con il segno:
Corso di Architetetture degli Elaboratori, A.A. 2003/2004
SI
NO
15
Eccesso M
°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
Corso di Architetetture degli Elaboratori, A.A. 2003/2004
16
Eccesso M
°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
Corso di Architetetture degli Elaboratori, A.A. 2003/2004
17
Ma bastano queste rappresentazioni?
°Parliamo sempre dei numeri… che cosa
fare con i numeri con la virgola?
°Vediamo un po’ di soluzioni…
Corso di Architetetture degli Elaboratori, A.A. 2003/2004
18
Scarica

1111 1111 1111 1111 1111 1111 1111 1100 two x