1 / 61

Sistemi di numerazione

Sistemi di numerazione. La rappresentazione più semplice: | | | | …. poco rappresentativa; difficoltà di memorizzazione Numeri romani: I, II, III, IV, V, VI, VII, VIII, IX, X, … 1997  MCMXCVII problemi di utilizzo nelle operazioni e nella rappresentazione di numeri “grandi”.

zena-smith
Download Presentation

Sistemi di numerazione

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. Sistemi di numerazione • La rappresentazione più semplice: | | | | …. poco rappresentativa; difficoltà di memorizzazione • Numeri romani: I, II, III, IV, V, VI, VII, VIII, IX, X, … 1997  MCMXCVII problemi di utilizzo nelle operazioni e nella rappresentazione di numeri “grandi”

  2. Sistemi di numerazione • Numerazione decimale: base=10 7582 migliaia centinaia decine unità 103 102 101 100 7 103 +5 102 +8 101 +2 100 • Conteggio: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9  0 con riporto

  3. Rappresentazione di numeri interi • Si sceglie una base b. • Si scelgono b simboli che rappresentano i numeri da 0 a b-1 (cifre). • I numeri sono rappresentati dai coefficienti del polinomio per le potenze della base • Indichiamo la base del sistema di numerazione con il pedice Nb = As As-1 … A1 A0 0  Ai b - 1 Valore Nb = As bs + As-1 bs-1 + … + A1 b1 + A0 b0 • La rappresentazione è posizionale poiché il peso associato alla generica cifra Ai dipende dalla posizione di Ai

  4. Sistemi di numerazione Numerazione binaria: base=2 • Conteggio: 0, 1  0 riporto 10, 11  0 riporto 100, … Corrispondenza binario-decimale

  5. Sistemi di numerazione Numerazione binaria: base 2. Simboli usati: 0, 1 1 0 1 0 1 1 1 0 1 0 2 28=25626=64 24=16 22=4 20=1 29=51227=12825=32 23=8 21=2 1 29 +0 28 +1 27 +0 26 +1 25 +1 24 +1 23 +0 22 +1 21 +0 20 = = 512+128+32+16+8+2=69810

  6. Sistemi di numerazione Numerazione ottale: base 8 Simboli usati: 0, 1, 2, 3, 4, 5, 6, 7 Esempio: 3 7 1 5 8 3 83 +7 82 +1 81 +5 80 = = 3512+764+8+5= = 1536+448+8+5 = 199710

  7. Sistemi di numerazione Numerazione esadecimale : base 16 Simboli usati: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F Esempio: 7 C D 16 7 162 +12 161 +13 160 = = 7256+1216+13= = 1792+192+13 = 199710

  8. Sistemi di numerazione: esempi • Base 2 1 0 1 0 2 = 23 +2= 10 10 1 1 0 0 1 0 0 2 = 26 +25 +22 = 100 10 1 1 1 1 1 0 1 0 0 0 2 = 29 +28 +27 +26 +25 +23 =1000 10 • Base 8 1 2 8 = 8+2= 10 1 4 4 8 = 82 +4 8+4 = 100 1 7 5 0 8 = 83 +7 82 +5 8=512 + 448 + 40 = 1000 10

  9. Sistemi di numerazione: esempi • Base 16 A 16 = 1010 6 4 16 = 6 16+4 = 100 10 3 E 8 16 = 3 162 +14 16+8=768 + 224 + 8 = 100010 F 16 = 1510 5 E 16 = 5 16+14 = 94 10 7 1 B 16 = 7 162 +1 16+11=1792 + 16 + 11 = 181910

  10. Sistemi di numerazione: esempi b = 10, N = 14320 10 N = 1 104 +4 103 +3 102 + 2 10 + 0 1 b = 2, N = 110100 2 N = 1 25 +1 24 +0 23 + 1 22 +0 2+ 0 1 = 32 + 16 + 4 = 52 10 b = 8, N = 3216 8 N = 3 83 +2 82 +1 8+ 6= 1536 + 128 + 8 + 6 = 1678 10 b = 16, N = AB9E 16 N = 10 163+11 162+9 16 + 15 = 40960 + 2816 + 144 + 15 = 43935 10

  11. Conversione di base Per la parte intera: • Dato un numero in una base A, si vuole rappresentarlo in base B, cioè: N A = N B = x0 + B (x1 + B (…B xs)…) • Se dividiamo N A per la nuova base B, otteniamo un quoziente N1 ed un resto R. Uguagliando: N A = R + B N1 = x0 + B (x1 + B (x2 + … ) ) da cui: x0 = R (x1 + B (x2 + … ) ) = N1 • Iterando il procedimento con N1 al posto di N A, si ottengono tutti i coefficienti del polinomio nelle potenze di B, cioè la codifica di N A nella nuova base, e quindi N B

  12. Conversione di base 1258 0 629 1 314 0 157 1 78 0 39 1 19 1 9 1 4 0 2 0 1 1 0 1258 10 = 10011101010 2 1258 2 157 5 19 3 2 2 0 1258 10 = 2352 8 1258 10 78 14 4 4 0 1258 10 = 4EA 16

  13. Conversione di base: numeri frazionari Nb =0 , A-1 A-2 A-3 A-4 A-5 Valore Nb = A-1b-1 + A-2b-2 + A-3b-3 + A-4b-4 + A-5b-5 In generale: Qb =As As-1 … A1 A0 , A-1 A-2 A-3 … A-R 0  Ai b - 1 Valore Qb = As bs + As-1 bs-1 + … + A1 b1 + A0 b0 + + A-1b-1 + A-2b-2 + A-3b-3 + … + A-Rb-R Esempi: b = 10, N = 325,23 10 N = 3 102 +2 101 +5 + 2 10-1 + 3 10-2 b = 2, N = 101,01 2 N = 1 22 +1 + 1 2-2 = 4 + 1 + 0,25 = 5,25 10

  14. Conversione di base Per la parte frazionaria: • Dato un numero in una base A, si vuole rappresentarlo in base B, cioè: FA = FB = B-1(x-1 + B-1(x-2 + B-1(…B-1x-r)…)) • Se moltiplichiamo F A per la nuova base B, otteniamo una parte intera I ed una parte frazionaria F1. Uguagliando: FA B = I + F1 da cui: x-1 = I B-1(x-2 + B-1(…B-1x-r)…) = F1 • Iterando il procedimento con F1 al posto di FA, si ottengono i coefficienti del polinomio nelle potenze di B, cioè la codifica di FA nella nuova base, e quindi FB. Il procedimento termina quando Fl = 0, oppure quando si è raggiunta la precisione desiderata (errore < B-r se ci si ferma al termine x-r)

  15. Conversione di base: numeri frazionari 0.59375 1.18750 1 0.37500 0 0.75000 0 1.50000 1 1.00000 1 0.59375 10= 0.10011 2 0.59375 4.75000 4 6.00000 6 0.59375 10= 0.46 8 0.59375 9.50000 9 8.00000 8 0.59375 10= 0.98 16

  16. CONVERTIRE IL NUMERO 58,0710 IN BINARIO PARTE INTERA PARTE FRAZIONARIA 58 = 28x2+0  X0=0 0,07x2=0.14  X-1=0 29 = 14x2+1  X1=1 0,14x2=0.28  X-2=0 14 = 7 x2+0  X2=0 0,28x2=0.56  X-3=0 7 = 3 x2+1  X3=1 0,56x2=1.12  X-4=1 3 = 1 x2+1  X4=1 0,12x2=0.24  X-5=0 1 = 0 x2+1  X5=1 0,24x2=0.48  X-6=0 0,48x2=0.96  X-7=0 0,96x2=1.92  X-8=1 0,92x2=1.84  X-9=1 (TRONCHIAMO QUI) IL NUMERO IN BINARIO È: 111010,000100011

  17. CONVERTIRE IL NUMERO 4287,31210 IN ESADECIMALE PARTE INTERA: PARTE FRAZIONARIA 4287:16=267 RESTO=15F 0,321x16=4,992 4 • :16= 16 RESTO=11B 0,992x16=15,872 F 16 :16= 1 RESTO= 00 0,872x16=13,952 D • :16= 0 RESTO= 11 0,952x16=15,232 F 4287,31210~ 10BF,4FDF…16 1 X 163 = 4096 11 X 161 = 176 • X 160 = 15 4 X 16-1 = 0,250 • X 16-2 = 0,04859 . . . . . . . . . . . . . . . . . . . . . . . _________________________________ = 4287, . . . .

  18. Conversione di un numero dalla base β1 alla base β2 quando β2= β1k dove K è un intero ≥2 ESEMPIO: β1=2, β2=8=23 N2 = dk dk-1 . . . d5 d4 d3 d2 d1 d0 = dk2k+….+d525+d424+d323+d222+d121+d020 = ….+(d522+d421+d320)23+(d222+d121+d020)20 = ch23*h+…. +c223*2+c123*1+c023*0 con 0  ci  7 = ch8h+…. +c282+c181+c080 N8= ch ch-1 . . . c5 c4 c3 c2 c1 c0 Quindise una base è potenza dell’altra, con esponente K, la conversione è molto semplice: basta sostituire ogni gruppo di K cifre del numero in una base (β1) con la cifra corrispondente nell’altra base (β2) o viceversa. N.B. se il numero di bit non è multiplo di K aggiungere gli 0 necessari a renderlo tale in posizioni che non modifichino il significato del numero.

  19. Conversioni fra basi diverse Esempio: 16  2 0  0000 8  1000 1  0001 9  1001 2  0010 A  1010 3  0011 B  1011 4  0100 C  1100 5  0101 D  1101 6  0110 E  1110 7  0111 F  1111

  20. Conversioni fra basi diverse: esempi • 1 0 0 1 1 1 0 1 0 1 0 2 125810 1 0 | 0 1 1 | 1 0 1 | 0 1 0 2 23528 1 0 0 | 1 1 1 0 | 1 0 1 0 2 4EA16 • 0 . 1 0 0 1 1 0 0 0 0 0 2 0.5937510 0 . 1 0 0 | 1 1 0 | 0 0 0 | 0 2 0.468 0 . 1 0 0 1 | 1 0 0 0 | 0 0 2 0.9816 Si può fare anche il passaggio inverso: • 1F516 1 | 1 1 1 1 | 0 1 0 1 2 • 75268 1 1 1 | 1 0 1 | 0 1 0 | 1 1 0 2 • 752616 1 1 1 | 0 1 0 1 | 0 0 1 0 | 0 1 1 0 2

  21. Conversione di base: numeri frazionari 0.1 0.2 0 0.4 0 0.8 0 1.6 1 1.2 1 0.4 0 0.8 0 …. 0.1 0.8 0 6.4 6 3.2 3 1.6 1 4.8 4 …. 0.1 1.6 1 9.6 9 …. Può accadere che a un numero decimale non periodico corrisponda un numero binario, ottale o esadecimale periodico

  22. Conversione da base 8 a base 16 6 1 5 2 0 4 7 8 110 001 101 010 000 100 111 1 8 D 4 2 7 16

  23. Conversione da base 16 a base 8 F C 0 8 A 16 1111 1100 0000 1000 1010 3 7 4 0 2 1 2 8

  24. Operazioni binarie 1 1 0 0 1 + 1 1 0 1 = ___________ 1 0 0 1 1 0 Somma Sottrazione In parentesi è indicato il riporto In parentesi è indicato il prestito 25 + 13 = ____ 38 1 1 0 0 1 - 1 1 0 1 =________ 1 1 0 0 25 - 13 = ____ 12

  25. Operazioni binarie Moltiplicazione Divisione 1 1 0 0 1 x 1 1 0 1 = 1 1 0 0 1 1 1 0 0 1 - - 1 1 0 0 1 - - - 1 0 1 0 0 0 1 0 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 1 1 25 x 13 = 325 25 : 9 = 2 con resto di 7

  26. Rappresentazione dei numeri nei calcolatori • L’unità minima di informazione nei calcolatori è il bit. Il bit corrisponde ad un sistema fisico dotato di stati stabili: passa/non passa corrente, tensione alta/bassa, condensatore scarico/carico, ecc. • I calcolatori si basano sul sistema numerico binario (cifre 0 e 1) • Si utilizza cioè un insieme di bit per rappresentare le cifre binarie. Il numero di bit utilizzati è generalmente un multiplo di 8 (cioè si utilizzano 1, 2, 4, 8 byte)

  27. Rappresentazione dei numeri nei calcolatori • Si consideri un byte (8 bit). Un byte permette di rappresentare 28 stati differenti; può pertanto memorizzare 256 diverse configurazioni corrispondenti ai primi 256 numeri naturali (0-255) Nella rappresentazione in valore assoluto: N= b7  27 +b6 26 +b5  25 +b4 24 +b3 23 + b2 22 +b1 21 + b0 20 N=37

  28. Rappresentazione dei numeri positivi e negativi • Esiste un problema: come rappresentare i numeri negativi • Prima soluzione: rappresentazione in Modulo e Segno (anche detta Binario Naturale) Si utilizza un bit per rappresentare il segno del numero considerato 0  + (numero positivo) 1  - (numero negativo) Se consideriamo un byte, rimangono ora 7 bit per il modulo del numero: i numeri rappresentabili sono perciò [0-127]

  29. Rappresentazione dei numeri positivi e negativi Consideriamo per semplicità solo 4 bit. In modulo e segno: In valore assoluto:

  30. Numero 7 6 5 4 3 2 1 Rappresentazione 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 -1 -2 -3 -4 -5 -6 -7 Rappresentazione dei numeri in Modulo e Segno

  31. Rappresentazione dei numeri in Modulo e Segno • Esistono due rappresentazioni diverse dello 0 distanti 2n-1 fra di loro, se n sono i bit usati per la rappresentazione (8 con 4 bit) • Un incremento binario nella rappresentazione corrisponde ad un incremento per numeri positivi, ma un decremento per numeri negativi • Numero minimo: -2n-1+1 • Numero massimo: 2n-1-1

  32. Rappresentazione in modulo e segno: problemi • Addizione e sottrazione sono le operazioni di cui si deve disporre per poter realizzare qualsiasi operazione aritmetica più complessa • Si supponga che il calcolatore abbia una “Unità Aritmetica” che realizzi indipendentemente le due operazioni. • Di fronte ad una somma algebrica, il calcolatore dovrebbe: • confrontare i due segni • se uguali, attivare il circuito di addizione • se diversi, identificare il maggiore (in valore assoluto) ed attivare il circuito di sottrazione • completare il risultato con il segno corretto • I passi indicati non sono eseguibili contemporaneamente perché ognuno dipende dai precedenti • In pratica per effettuare somma e sottrazione si ricorre ad un unico circuito, utilizzando un metodo che permette di evitare le operazioni di confronto

  33. Complemento alla base di un numero • Nella rappresentazione in complemento alla base con n cifre le bn combinazioni rappresentano numeri positivi e negativi. • In particolare: le combinazioni da 0 a bn:2 - 1 rappresentano i numeri positivi, rispettando la usuale rappresentazione posizionale; Le combinazioni da bn:2 fino a bn – 1 rappresentano i numeri negativi, con la seguente definizione: dato un numero positivo X, il suo corrispondente negativo è dato da: bn-X

  34. Complemento alla base – 1 di un numero • Nella rappresentazione in complemento alla base – 1 con n cifre le bn combinazioni rappresentano numeri positivi e negativi. • In particolare: le combinazioni da 0 a bn:2 - 1 rappresentano i numeri positivi, rispettando la usuale rappresentazione posizionale; Le combinazioni da bn:2 fino a bn – 1 rappresentano i numeri negativi, con la seguente definizione: dato un numero positivo X, il suo corrispondente negativo è dato da: (bn-1)-X

  35. Complemento alla base Esempio b=10, n=2; 102configurazioni: i numeri da 0 a 49 rappresentano i positivi, con il consueto significato; da 50 a 99 i negativi come previsto dal complemento (-1 -> 99, -2 -> 98, … , -49 -> 51, -50 -> 50). X=36; -X in complemento alla base (si dice complemento a 10) è: 102 - X = 100 - 36 = 64 b=10, n=4; i numeri da 0 a 4999 rappresentano i positivi; da 5000 a 9999 i negativi (-1 -> 9999, -2 -> 9998, … , -4999 -> 5001, -5000 -> 5000) X=1630; -X in complemento alla base è: 10000 - 1630 = 8370 Regola pratica: il complemento a 10 si trova analizzando le cifre a partire da destra: gli zeri fino alla prima cifra significativa si riportano tali e quali; della prima cifra significativa si fa il complemento a 10, di tutte le altre il complemento a 9

  36. Complemento alla base b=2, n=5 Positivi da 0 a 01111 Negativi da 10000 a 11111 X = 01011; trovo -X 1 0 0 0 0 0 - 0 1 0 1 1 = b=2, n=7 Positivi da 0 a 0111111 Negativi da 1000000 a 1111111 X=0011000; trovo -X 1 0 0 0 0 0 0 0 - 0 0 1 1 0 0 0 = 1 0 1 0 1 1 1 0 1 0 0 0 Regola pratica: partendo dal bit meno significativo, si riportano invariati tutti i bit fino al primo bit a 1 compreso; si complementano i rimanenti bit (0  1, 1  0)

  37. Complemento alla base -1 X=36, b=10, n=2 in complemento alla base -1 è: 99 - 36 = 63 Si ottiene complementando a 9 ogni singola cifra X=01011, b=2, n=5 -X in complemento alla base -1 è: (25 - 1) - X = (100000 - 1) - X = 11111 - 01011 = 10100 Si ottiene complementando ogni singolo bit (0  1, 1  0)

  38. Complemento alla base • Il complemento alla base si può ottenere anche sommando 1 al complemento alla base -1 (per definizione) Cb = bn - X Cb-1 = (bn - 1) - X Cb - Cb-1 = 1 C10 (36) = 64 che rappresenta - 36 C9 (36) = 63 che rappresenta - 36

  39. Complementi alla base e alla base -1 Nelle rappresentazioni in complemento alla base e in complemento alla base -1 le rappresentazioni dei numeri negativi sono definite solo quando si è stabilito il numero di cifre. Il complemento alla base [e il complemento alla base -1] per X=36, b=10, n=2 è: 64 [63] Il complemento alla base [e il complemento alla base -1] per X=36, b=10, n=3 è: 964 [963] N.B: Tutti i numeri ottenuti rappresentano – 36 !!!

  40. Rappresentazione in complemento: Riepilogo • Rappresentazione in complemento a 2: i numeri positivi sono rappresentati dal loro modulo e hanno il bit più significativo (segno) posto a 0. I numeri negativi sono rappresentati dalla quantità che manca al numero positivo per arrivare alla base elevata al numero di cifre utilizzate, segno compreso. Pertanto i numeri negativi hanno il bit del segno sempre a 1 • Metà delle configurazioni sono perciò riservate ai numeri positivi e metà ai numeri negativi • Discorsi analoghi possono essere fatti per basi diverse da 2: in base 10 un numero è negativo se la prima cifra è  5, in base 8 se  4, in base 16 se  8

  41. Rappresentazione in complemento alla base Con n bit a disposizione: • Il numero minimo rappresentabile è -2n-1 • Il numero massimo rappresentabile è 2n-1 - 1 • -1 è rappresentato da tutti 1 qualunque sia il numero di bit considerato • Il numero può essere interpretato considerando il bit più significativo con segno negativo N= - b3 23 + b2 22 +b1 21 + b0 20

  42. Rappresentazione in complemento alla base

  43. Numero 7 6 5 4 3 2 1 Rappresentazione 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 -1 -2 -3 -4 -5 -6 -7 -8 Rappresentazione in complemento a 2 • Vi è una sola rappresentazione dello 0 (0000) • Tutti i numeri sono consecutivi. La configurazione dello 0 segue quella di -1 trascurando il riporto

  44. Rappresentazione in complemento alla base -1 Il numero minimo è -2n-1+1 Il numero massimo è 2n-1-1

  45. Numero 7 6 5 4 3 2 1 Rappresentazione 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 -1 -2 -3 -4 -5 -6 -7 Rappresentazione in complemento alla base -1 • Vi sono due rappresentazioni dello 0 (0000 e 1111) • Nella rappresentazione in complemento a 1 i numeri negativi si ottengono complementando a 1 tutti i corrispondenti numeri positivi segno compreso. Pertanto i numeri negativi hanno il bit di segno sempre a 1

  46. Schema riassuntivo

  47. Rappresentazione di interi in complemento a 2 • Con 1 byte (8 bit) max = 27-1 = 127 min = -27 = -128 • Con 2 byte (16 bit) max = 215-1 = 32767 min = -215 = -32768 • Con 4 byte (32 bit) max = 231-1 = 2 147 483 647 min = -231 = -2 147 483 648

  48. Utilità del complemento alla base • Con la tecnica del complemento si può utilizzare un solo circuito per effettuare sia l’addizione, sia la sottrazione • Operiamo in base 10 e vogliamo calcolare A – B. • Si supponga di conoscere il risultato dell’operazione 10 - B (complemento a 10 di B). Allora: A - B = A + (10 - B) a condizione che si trascuri il riporto • Analogo discorso con k cifre purché si disponga del risultato dell’operazione 10k – B (complemento a 10k). Si ricordi sempre di fissare il numero di cifre • Se operiamo in base 2, con k cifre: A - B = A + (2k - B) a condizione che si trascuri il riporto • Se si utilizza la tecnica del complemento alla base -1 occorre sommare il riporto al risultato finale

  49. Operazioni aritmetiche in complemento: esempi Usando il complemento A 43517 - 43517 + B 26106 = 73894 = (in complemento -26106 = 73894) ______ _______ A-B17411 117411 (riporto da non considerare) A 01001 - 01001 + B 00110 = 11010 = (in complemento -00110 = 11010) ______ ______ A-B 00011 100011 (riporto da non considerare) A 42A61 - 42A61 + B 00B02 = FF4FE = (in complem. -00B02 = FF4FE) ______ ______ A-B 41F5F 141F5F (riporto da non considerare)

  50. Operazioni aritmetiche in complemento: esempi Con il complemento alla base -1 occorre sommare il riporto al risultato finale A 43517 - 43517 + 17410 + B 26106 = 73893 = 1 = ______ _______ _______ A-B 17411 117410 17411 A 01001 - 01001 + 00010 + B 00110 = 11001 = 1 = ______ _______ _______ A-B 00011 100010 00011 A 42A61 - 42A61 + 41F5E + B 00B02 = FF4FD = 1 = ______ _______ _______ A-B 41F5F 141F5E 41F5F

More Related