La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Presentazioni simili


Presentazione sul tema: ""— Transcript della presentazione:

52 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”

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

54 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 A  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

55 Sistemi di numerazione
Numerazione binaria: base=2 Conteggio: 0, 1  0 riporto 10, 11  0 riporto 100, … Corrispondenza binario-decimale Binario Decimale 1 10 2 11 3 100 4 101 5 110 6 111 7 1000 8 1001 9

56 Sistemi di numerazione
Numerazione binaria: base 2. Simboli usati: 0, 1 28= = = = =1 29= = =32 23= =2 1          20 = = =698 10

57 Sistemi di numerazione
Numerazione ottale: base 8 Simboli usati: 0, 1, 2, 3, 4, 5, 6, 7 Esempio: 3    80 = = 3  = = =

58 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   160 = = 7  = = =

59 Sistemi di numerazione: esempi
Base 2 = = 10 10 = = = = Base 8 1 2 8 = = 10 =  = 100 =   8 = =

60 Sistemi di numerazione: esempi
Base 16 A 16 = 10 10 = 6 = 3 E 8 16 = 3  = = F 16 = 15 10 5 E 16 = 5 = 94 10 7 1 B 16 = 7  = =

61 Sistemi di numerazione: esempi
b = 10, N = N = 1     1 b = 2, N = N = 1     2 + 0 1 = = 52 10 b = 8, N = N = 3   = = b = 16, N = AB9E 16 N = 10   = =

62 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

63 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 = 1258 2 157 5 19 3 2 2 = 78 14 4 4 = 4EA 16

64 Conversione di base: numeri frazionari
Nb = 0 , A-1 A-2 A-3 A-4 A-5 Valore Nb = A-1 b-1 + A-2 b-2 + A-3 b-3 + A-4 b-4 + A-5 b-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-1 b-1 + A-2 b-2 + A-3 b-3 + … + A-R b-R Esempi: b = 10, N = 325,23 10 N = 3    10-2 b = 2, N = 101,01 2 N = 1  2-2 = ,25 = 5,25 10

65 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)

66 Conversione di base: numeri frazionari
= = =

67 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 È: ,

68 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= RESTO= 11 0,952x16=15,232 F 4287,31210 ~ 10BF,4FDF…16 1 X 163 = 4096 11 X 161 = 176 X 160 = 4 X 16-1 = ,250 X 16-2 = ,04859 _________________________________ = 4287,

69 = ch23*h+…. +c223*2+c123*1+c023*0 con 0  ci  7
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 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 c5 c4 c3 c2 c1 c0 Quindi se 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.

70 Conversioni fra basi diverse
Esempio: 16  2 0   1000 1   1001 2  A  1010 3  B  1011 4  C  1100 5  D  1101 6  E  1110 7  F  1111

71 Conversioni fra basi diverse: esempi
1 0 | | | 1 0 0 | | EA16 | | | | | Si può fare anche il passaggio inverso: 1F | | | | | | | |

72 Conversione di base: numeri frazionari
0.1 0.2 0 0.4 0 0.8 0 1.6 1 1.2 1 …. 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

73 Conversione da base 8 a base 16
D

74 Conversione da base 16 a base 8
F C A 16

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

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

77 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)

78 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) b7 b6 b5 b4 b3 b2 b1 b0 Nella rappresentazione in valore assoluto: N= b7  b6  26 + b5  b4  b3  23 + b2  22 + b1  21 + b0 20 1 N=37

79 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] +/- b6 b5 b4 b3 b2 b1 b0

80 Rappresentazione dei numeri positivi e negativi
Significato in modulo e segno Rappresentazione binaria Significato in valore assoluto +7 0 111 7 +6 0 110 6 +5 0 101 5 +4 0 100 4 +3 0 011 3 +2 0 010 2 +1 0 001 1 +0 0 000 -0 1 000 8 -1 1 001 9 -2 1 010 10 -3 1 011 11 -4 1 100 12 -5 1 101 13 -6 1 110 14 -7 1 111 15 Consideriamo per semplicità solo 4 bit. In modulo e segno: In valore assoluto: +/- b2 b1 b0 b3 b2 b1 b0

81 Rappresentazione dei numeri in Modulo e Segno
7 6 5 4 3 2 1 -1 -2 -3 -4 -5 -6 -7 Rappresentazione Numero

82 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

83 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

84 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

85 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

86 Complemento alla base Esempio
b=10, n=2; 102 configurazioni: 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) è: X = = 64 b=10, n=4; i numeri da 0 a 4999 rappresentano i positivi; da 5000 a 9999 i negativi (-1 -> 9999, -2 -> 9998, … , > 5001, > 5000) X=1630; -X in complemento alla base è: = 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

87 Complemento alla base b=2, n=5 Positivi da 0 a 01111
Negativi da a 11111 X = 01011; trovo -X = b=2, n=7 Positivi da 0 a Negativi da a X= ; trovo -X = 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)

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

89 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

90 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] X=36, b=10, n=3 è: 964 [963] N.B: Tutti i numeri ottenuti rappresentano – 36 !!!

91 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

92 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 b3 b2 b1 b0 N= - b3  23 + b2  22 + b1  21 + b0 20

93 Rappresentazione in complemento alla base
Significato in complemento a 2 Rappresentazione binaria Significato in valore assoluto +7 0111 7 +6 0110 6 +5 0101 5 +4 0100 4 +3 0011 3 +2 0010 2 +1 0001 1 0000 -1 1111 15 -2 1110 14 -3 1101 13 -4 1100 12 -5 1011 11 -6 1010 10 -7 1001 9 -8 1000 8

94 Rappresentazione in complemento a 2
7 6 5 4 3 2 1 -1 -2 -3 -4 -5 -6 -7 -8 Numero Rappresentazione Vi è una sola rappresentazione dello 0 (0000) Tutti i numeri sono consecutivi. La configurazione dello 0 segue quella di -1 trascurando il riporto

95 Rappresentazione in complemento alla base -1
Significato in complemento a 1 Rappresentazione binaria Significato in valore assoluto +7 0111 7 +6 0110 6 +5 0101 5 +4 0100 4 +3 0011 3 +2 0010 2 +1 0001 1 +0 0000 -0 1111 15 -1 1110 14 -2 1101 13 -3 1100 12 -4 1011 11 -5 1010 10 -6 1001 9 -7 1000 8 Il numero minimo è -2n-1+1 Il numero massimo è 2n-1-1

96 Rappresentazione in complemento alla base -1
7 6 5 4 3 2 1 -1 -2 -3 -4 -5 -6 -7 Numero Rappresentazione 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

97 Schema riassuntivo Modulo e segno Complemento a 2 Complemento a 1 Zero
00…0000/10…00 00000…0 00…0/11…1 Valore massimo 2n-1-1 Valore minimo -2n-1+1 -2n-1 Bit di segno 0/1

98 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 = = 32767 min = -215 = Con 4 byte (32 bit) max = = min = -231 =

99 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

100 Operazioni aritmetiche in complemento: esempi
Usando il complemento A B = = (in complemento = 73894) ______ _______ A-B (riporto da non considerare) A B = = (in complemento = 11010) ______ ______ A-B (riporto da non considerare) A 42A A61 + B 00B02 = FF4FE = (in complem. -00B02 = FF4FE) A-B 41F5F 141F5F (riporto da non considerare)

101 Operazioni aritmetiche in complemento: esempi
Con il complemento alla base -1 occorre sommare il riporto al risultato finale A B = = = ______ _______ _______ A-B A B = = = A-B A 42A A F5E + B 00B02 = FF4FD = = A-B 41F5F F5E 41F5F

102 Operazioni aritmetiche in complemento
Esempi con 6 cifre binarie Complemento a 2 Complemento a 1 19 + (-17) (-17) (+2) 1 (+2)

103 Operazioni aritmetiche in complemento
Esempi con 6 cifre binarie Complemento a 2 Complemento a 1 (-19) (-19) + 17 (-2) (-2)

104 Operazioni aritmetiche in complemento
Esempi con 6 cifre binarie Complemento a 2 Complemento a 1 (-17) + (-2) (-17) + (-2) (-19) 1 (-19)

105 Esempio di Sommatore: Componenti
1 + I S O a b Ri c Ro 1 a b Ro Σ Ri c a Ro Ri b

106 + Esempio di Sommatore C = A + B +1 = A + (23 -1 – B)+1 = A - B a2 b2
Ro Σ Ri c + a2 b2 R2 a1 b1 R1 a0 b0 R0 c0 c2 c1 S A = a2a1a0 B = b2b1b0 C = c2c1c0 S=0 c0 = a0 + b0 c1 = a1 + b1 + R0 c2 = a2 + b2 + R1 C = A + B S=1 c0 = a0 + b0 + 1 c1 = a1 + b1 + R0 c2 = a2 + b2 + R1 C = A + B +1 = A + (23 -1 – B)+1 = A - B

107 Rappresentazione di interi
Esercizio: Rappresentare i numeri con 8 bit e complemento a 2 e a 1 Numero Complemento a 2 Complemento a 1 15 -15 1 -1 144 non rappresentabile 128 -128

108 Operazioni aritmetiche in complemento
Esempi con 6 cifre binarie = (-28) Si sono sommati due numeri positivi e si è ottenuto un numero negativo. Il risultato corretto (+36) non è rappresentabile in complemento a 2 con 6 bit (massimo numero rappresentabile = + 31) Il fenomeno si chiama traboccamento o overflow

109 Operazioni aritmetiche in complemento
Esempi con 6 cifre binarie Complemento a 2 (-19) + (-17) = Complemento a 1 (-19) + (-17) = 1 = (28) (27) Si sono sommati due numeri negativi e si è ottenuto un numero positivo. Il risultato corretto (-36) non è rappresentabile in complemento a 2 con 6 bit (minimo numero rappresentabile = -32 in C.a 2 e –31 in C. a 1) Il fenomeno si chiama traboccamento o overflow

110 Somma di numeri di N bit in complemento a 2
0  A  2N-1 -1 0  B  2N-1 -1 -2N-1  A < 0 0  B  2N-1-1 -2N-1  B < 0 0  S  2N-2 -2N-1  S < 2N-1-1 -2N  S < 0 Sommando due numeri positivi si ha overflow se si ottiene un numero negativo. S potrebbe non essere rappresentabile in N bit ma lo è sempre in N+1 bit. Non ci sono mai problemi di overflow. Sommando due numeri negativi si ha overflow se si ottiene un numero positivo.

111 Esempi di somma di numeri binari
= Complemento a 2 + 105 = Overflow=1 Valore Assoluto 120 + 105 = 225 Riporto=0 - 16 = - 21 Overflow=0 251 + 240 = 235 Riporto=1 =

112 Tecnica dell’eccesso Usato per scopi particolari
+7 1111 +6 1110 +5 1101 +4 1100 +3 1011 +2 1010 +1 1001 1000 -1 0111 -2 0110 -3 0101 -4 0100 -5 0011 -6 0010 -7 0001 -8 0000 Usato per scopi particolari Viene sommata una costante fissa, ad esempio con n bit pari a 2n-1, al numero dotato di segno da rappresentare; il numero risultante viene convertito in binario. Con questa convenzione il bit di segno è invertito


Scaricare ppt ""

Presentazioni simili


Annunci Google