1 / 18

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

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.

Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Rappresentazione dei numeri • Operazioni… come le realizziamo? • Somme • Moltiplicazioni • Divisioni • Circuiti….

  2. Rappresentazione dei naturali • Binario • Il numero più grande: 2n-1 (n bit) • Operazioni: come siamo abituati… non è detto che poi vengano realizzate così

  3. 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

  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.

  5. 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

  6. 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

  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.

  8. Complemento a 2 • 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

  9. La linea dei numeri in complemento a 2 ( N=5) 00000 00001 11111 • 2 N-1 non-negativi • 2 N-1 negativi • one zero • Quanti sono i numeri positivi? 11110 00010 0 -1 1 11101 2 -2 -3 11100 -4 . . . . . . 15 -15 -16 01111 10001 10000

  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, unnegativo in più, non c’è il +2,147,483,648ten

  11. Formula per il complemento a due • Si può passare dai positivie 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 • Esempio1111 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

  12. Formula per ottenere l’opposto • Invertiteogni 0 in 1 ed ogni 1 in 0, poi aggiungete 1 al resultato • La sommadi un numeroe 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 1100twox’: 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

  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 negativoha 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

  14. Complemento a 2 • Ho solo uno zero (quello 000000000) • Le operazioni sono corrette: • Perché? • Discutiamone

  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

  16. 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

  17. 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

  18. Ma bastano queste rappresentazioni? • Parliamo sempre dei numeri… che cosa fare con i numeri con la virgola? • Vediamo un po’ di soluzioni…

More Related