°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