Anda di halaman 1dari 59

Universidade Federal de Campina Grande Engenharia Eltrica

Ci Circuitos ito Lgicos L i o


Representao de nmeros

Reviso
Principais p sistemas de numerao utilizados em eletrnica e computao: p
Sistema Bi i Binrio Octal Decimal Hexadecimal Base 2 8 10 16 Caracteres ou dgitos 01 01234567 0123456789 0123456789ABCDEF

De forma genrica:

... XY , ZW ...B = ... X B1 + Y B 0 + Z B 1 + W B 2 ...

B={2,8,10,16,...}

Reviso Sistema de Base 2 (Binrio) ( )


11012
Peso Peso Peso Peso

Principais representaes:11012 , 1101b


2 1 2 2 2 3 2
0

Valor = 13

10

Ex. hodmetro binrio


Bit mais significativo( i ifi ti ( bM bMs) )

0 0 0 0 0

Bit menos significativo (bms)


0

Nmero de unidades (2 ) Nmero de grupos de 2 (21 ) Nmero de grupos de quatro (4=22 ) 3 Nmero de grupos de oito (8=2 ) Nmero de grupos de 16 (16=24 )

Reviso Converses:
De uma base B para Decimal: usar representao polinomial Da base decimal (PI,PF (PI PFd) para uma base B:
Parte inteira (PI): mtodo das divises sucessivas Parte fracionria (PF): mtodo das multiplicaes sucessivas

De binrio para hexadecimal (e vice-versa): grupo de 4 bits dgito hexadecimal

Reviso
Adio de inteiros binrios sem sinal com n bits Estouro
transporte (vai-um) nmeros de n bits a serem somados resultado c/ n bits

preciso C0=0

Cn Cn-1 Cn-2 Cn-3 ... C2 C1 C0 An n-1 1 An n-2 2 An n-3 3 ... A2 A1 A0 + Bn-1 Bn-2 Bn-3 ... B2 B1 B0 Sn-1 Sn-2 Sn-3 ... S2 S1 S0 0+0=0 0+1=1 1 + 1 = 0 com transporte de 1 1 + 1 + 1 = 1 com transporte de 1

Regras :

Reviso
Subtrao de inteiros binrios sem sinal com n bits An-1 An-2 An-3 ... A2 A1 A0 Minuendo de n bits - Bn-1 Bn-2 Bn-3 ... B2 B1 B0 Subtraendo de n bits Cn Cn-1 Cn-2 Cn-3 ... C2 C1 C0=0 Emprstimo
resultado c/ n bits

estouro Regras :

Sn-1 Sn-2 Sn-3 ... S2 S1 S0

0-0=0 1-0=1 0 - 1 = 1 com emprstimo de 1 0 - 1 - 1 = 0 com emprstimo p de 1

Reviso
Multiplicao: Processo similar ao decimal An-1 An-2 An-3 ... A2 A1 A0 nmeros de n bits x Bn-1 Bn-2 Bn-3 ... B2 B1 B0 a serem multiplicados
resultados parciais

P1n-1 P1n-2 P1n-3 ... P12 P11 P10 P2n-1 1 P2n-2 2 P2n-3 3 ... P22 P21 P20 0 0 ... 0 0

PNn n-1 1 PNn n-2 2 PNn n-3 3 ...PN2 PN1 PN0 0 S2n S2n-1 Regras : ... Sn 0x0=0 0x1=0 1x1=1

Sn-1 Sn-2 Sn-3 ... S2 S1 S0

Reviso
Diviso: Processo similar ao decimal Exemplo: p (0100<1001) ( ) Dividendo Divisor 101101 1001 - 1001 1 0 1 Quociente 00100 -0 0 0 0 00100 001001 - 1001 0 0 0 0 Resto

Representaes binrias de nmeros negativos

E os nmeros negativos??? ti ???

possvel simplificar as operaes aritmticas it ti com nmeros negativos??? ti ???

Si l e Mdulo Sinal Md l
Quando se existe nmeros com quantidade de algarismos

variadas, , utiliza-se o nmero com maior valor absoluto p para determinar a quantidade de dgitos necessrios para representar os nmeros (n).

Em binrio 0 p para + e 1 p para +1101 -1101 +101 +01 -11111

001101 101101 000101 000001 111111

C Complemento l t de d Base B Diminuda Di i d


Complemento de base diminuda de um nmero x

de n dgitos representado por CB-1(x) definido por:

CB 1( x) = B x 1
n

No sistema decimal com base 10 o complemento de

base diminuda o complemento de 9


x 48 54 45 65 34 8 91 62 37

(x) ) 51 C9(

C Complemento l t de d Base B Diminuda Di i d


O complemento l de d base b diminuda di i d o valor l que

falta para se chegar ao valor mximo permitido


Ex: O valor mximo de um nmero decimal de 2

dgitos 99 logo para qualquer nmero decimal de dois dgito DU o complemento de 9 : C9(DU)= 99-DU

Complemento de Base
Complemento de base de um nmero x de n dgitos

representado por CB (x) definido por:

CB ( x ) = B x
n

Complemento de Base o complemento de base

diminuda mais 1. Logo g o valor q que falta p para atingir o valor mximo +1.

B x = B x 1+1 CB ( x) = CB 1( x) + 1
n n

Representaes binrias de nmeros negativos


Geralmente utilizam o MSB como sinal 1- Representao sinal/mdulo Exemplo c/ n n=8 8 bits: 10011001

Bit de sinal: 0= positivo 1= negativo

Md l (7bits) Mdulo (7bit )

Representa-se [-(2n-1-1)d, (2n-1-1)d]

Representaes binrias de nmeros negativos


2- Representao em complemento de 1 Dado um nmero N com n bits, o complemento p C1( (N) ) tal q que N + C1( (N) ) = 2n-1 Exemplo c/ n=8 bits: N= 0 0 0 1 1 0 0 1 =25d =-25d =2 2n-1 1

C1(N)= 1 1 1 0 0 1 1 0 N+C N C1(N) (N)= 1 1 1 1 1 1 1 1 Representa-se [-(2n-1-1)d, (2n-1-1)d]

O complemento de 1 obtido invertendo-se g todos os bits do nmero original

Representaes binrias de nmeros negativos


3- Representao em complemento de 2 Dado um nmero N com n bits, o complemento p C2( (N) ) tal q que N + C2( (N) ) = 2n Exemplo c/ n=8 bits: N= 0 0 0 1 1 0 0 1 =25d =-25d em C1 = 25d em C2 =-25

C1(N)= )= 1 1 1 0 0 1 1 0 C2(N)= C1(N)+ (N)+1 1= 11100111

N+C2(N)= 1 0 0 0 0 0 0 0 0 =2n O complemento de 2 obtido invertendo-se todos os bits do nmero original, e acrescentando-se 1 ao resultado

Representaes binrias de nmeros negativos


Representao em complemento de 2 (continuao) Representa-se [-(2n-1)d, (2n-1-1)d] Para obter o mdulo de um nmero negativo (MSB=1), basta calcular seu complemento de 2

Para valores positivos: MSB=0!!!!

Representaes binrias de nmeros negativos


Representao em complemento de 2 (continuao) Houve estouro se Cn diferente de Cn-1
transporte ( (vai-um) vai-um ) nmeros de n bits a serem somados ou subtraidos resultado c/ n bits

Cn Cn-1 1 Cn-2 2 Cn-3 3 ... C2 C1 C0 An-1 An-2 An-3 ... A2 A1 A0 Bn-1 Bn-2 Bn-3 ... B2 B1 B0 Sn-1 Sn-2 Sn-3 ... S2 S1 S0

Pode-se usar o complemento de 2 para fazer subtrao: A - B = A + (-B) = A+ C2(B)

Aritmtica em complemento de 2
Implementao Implementao

Representao de Nmeros Inteiros


Todos T d

os dados d d numricos i podem d ser representados como uma sequncia de 0s e 1s.

Os nmeros podem ser positivos ou negativos. As

operaes aritmticas, em particular a subtrao, podem originar resultados negativos.


Um U aspecto t primordial i di l a ser definido d fi id seria i ento t

como representar o sinal.


Como que um sistema digital sabe que um

g dado nmero negativo?


20

Representao de Nmeros Inteiros


A resposta a esta pergunta que isso depende da

conveno usada na representao de nmeros.


As convenes mais usuais so as seguintes :

Representao em sinal e magnitude (mdulo e sinal) Representao em complemento de 1 Representao em complemento de 2

21

Representao em mdulo e sinal


O bit mais significativo g representa p o sinal:

0 (indica um nmero positivo) 1 (indica um nmero negativo)


Os demais bits representam a grandeza (magnitude).
sinal magnitude

O valor dos bits usados para representar a magnitude independe do sinal (sendo o nmero positivo ou negativo, a representao binria da magnitude ser a mesma).
Exemplos: (8 bits) 001010012 = +4110 101010012 = - 4110
22

Representao em mdulo e sinal


Exemplos Exemplos: e p os: (8 b bits) ts)

Valor decimal +9 -9 +127 -127

Valor binrio com 8 bits (7 + bit de sinal) 00001001 10001001 01111111 11111111

23

Representao em complemento de 1

Representao de nmeros inteiros positivos


Igual representao em mdulo e sinal (sinal-magnitude).

Representao p de nmeros inteiros negativos g


(a partir da representao em sinal-magnitude)

Mantm-se o bit de sinal; Inverte-se se os demais bits (0 -> 1) e (1 ->0). 0). Inverte Exemplo p :( (8 bits) ) Exemplo p :( (8 bits) )

10001100MS = -1210 11110011C1

10101001MS = -4110 11010110C1


24

Representao em complemento de 2

Representao de nmeros inteiros positivos


Igual representao em mdulo e sinal (sinal-magnitude).

Representao p de nmeros inteiros negativos g


(a partir da representao em complemento de 1)

Soma-se 1 ao nmero em complemento de 1 (complemento de 1 + 1). Exemplo : (8 bits) Exemplo : (8 bits)

11110011C1 = -1210 11110100C2

11010110C1 = -4110 11010111C2

25

Representao de Nmeros Inteiros


Exemplo: Exemplo
Escreva sc e a os nmeros e os dec decimais a s aba abaixo o nas as segu seguintes tes representaes: sinal e magnitude; representao em complemento de 1; representao em complemento de 2 ( tili ando 8 bits, (utilizando bits se existir e istir representao). representao)

a) -1 1 b) 20 c) 127 127 d) 128

26

Representao de Nmeros Reais


Em alguns tipos de clculo clculo, a faixa de variao dos

nmeros envolvidos muito grande.


Exemplo:
1) Massa do eltron - da ordem de 9 x 10-28 gramas 2) Massa do Sol - aproximadamente igual a 2 x 1033 gramas Faixa de variao: > 1060 Exemplo de representao (34 dgitos esquerda do ponto decimal e 28 dgitos direita do mesmo)

1) 0000000000000000000000000000000000.0000000000000000000000000009 0000000000000000000000000000000000 0000000000000000000000000009 2) 2000000000000000000000000000000000.0000000000000000000000000000

27

Representao de Nmeros Reais


Forma usual de representao de

nmeros reais: parte inteira, vrgula (ou ponto), parte fracionria fracionria. .

Esta representao, embora cmoda para clculos no

papel, no adequada para processamento no computador.


Exemplo Exemplo: : 45 45, ,724

28

Representao de Nmeros Reais


O nmero 45,724 45 724 pode d ser expresso como:

45,724 x 100 45724 x 10-3 0,45724 x 102


necessrio o uso de um sistema de

representao de nmeros no qual a faixa de variao dos nmeros seja independente do nmero de dgitos significativos dos nmeros representados. representados
29

Representao em Ponto Flutuante


Uma maneira de separar p a faixa de variao dos

nmeros de sua preciso consiste em represent-lo na notao cientfica. n = f x 10e


f - frao ou significando (ou mantissa) e - expoente (inteiro positivo ou negativo)
Qualquer

nmero (inteiro ou fracionrio) pode ser expresso no formato nmero x baseexpoente, podendo-se variar a posio da vrgula e o expoente. expoente

Denominao: representao em ponto flutuante

(o ponto t varia i sua posio, i modificando, difi d em conseqncia, i o valor representado).


30

Representao em Ponto Flutuante


Representao pode variar ( (flutuar) ) a posio da

vrgula, ajustando a potncia da base.


Exemplos:

3,14 = 0,314 x 10+1 = 3,14 x 100 0,000001= 0,1 x 10-5 = 1,0 x 10-6 1941 = 0,1941 x 104 = 1,941 x 103
A faixa de variao dos nmeros determinada

pela quantidade de dgitos do expoente e a preciso determinada pela quantidade de dgitos do significando.
31

Representao em Ponto Flutuante


Ilustrao:
No sistema binrio: 110101 = 110,101x23 = 1,10101x25 = 0,0110101x27 Nmeros armazenados em um sistema digital - os

expoentes sero tambm gravados na base dois Como 310 = 112 e 7=1112 110,101 x (10)11 = 1,10101x(10)101 = 0,0110101x(10)111
Representao normalizada - h apenas um 1 antes

da vrgula Exemplo: 1,10101x(10)101


32

Representao em Ponto Flutuante

Oco Ocorre eo overflow e o qua quando do o valor a o abso absoluto uto do dado a se ser

representado excede a capacidade de representao, porque o nmero de bits do expoente (neste caso, positivo) insuficiente para representar o dado. dado

33

Representao de Nmeros Decimais Codificados em Binrio (BCD)


A idia do BCD representar, em binrio, cada

algarismo de forma que o nmero original seja integralmente preservado.


A

codificao BCD no possui extenso fixa, p possibilitando representar p nmeros com p preciso varivel - quanto maior o nmero de bits, maior ser a preciso.

34

Representao de Nmeros Decimais Codificados em Binrio (BCD)


Tabela de Representao dos Nmeros Decimais em BCD
Decimal 0 1 2 3 4 5 6 7 8 9 BCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
Continua ...

35

Representao de Nmeros Decimais Codificados em Binrio (BCD)


Tabela de Representao dos Nmeros Decimais em BCD
Decimal 10 11 12 13 14 15 BCD Invlido Invlido Invlido Invlido Invlido Invlido

Exemplo Exemplo: : 23910 = ( ? ) BCD


2 = 00102 3 = 00112 e 9 = 10012,

logo: 239 = 001000111001 (BCD) (BCD). .


36

Representao de Nmeros Decimais Codificados em Binrio (BCD)


Entre os algarismos sem cdigo vlido em decimal

(cdigos representativos dos valores decimais de 10 a 15), comum utilizar alguns deles para indicar o sinal do nmero.
H sistemas que adotam a seguinte conveno para o

sinal i l dos d nmeros representados t d em BCD: BCD


1100 1101 representa o sinal positivo (+) representa o sinal negativo ( (-) )

37

Operaes aritmticas Sistema Binrio


Adio Subtrao S bt Multiplicao Diviso

38

Adio Sistema binrio

Regra: Regra :

39

Subtrao Sistema binrio

Regra: Regra :

40

Outras Operaes Aritmticas Multiplicao Sistema binrio


R Regra
00=0 01=0 10=0 11=1

41

Outras Operaes Aritmticas Diviso Sistema binrio


Procedimento igual ao dos decimais, considerando-

se apenas que: 0/1 = 0 e 1/1 = 1.

Diviso pela Base

Deslocando-se os algarismos de um nmero para

a direita ou a sua vrgula para a esquerda.

42

A Informao e sua Representao

Aritmtica em Sinal e Magnitude Aritmtica em Complemento de 2

43

Aritmtica em Sinal e Magnitude


Algoritmo para operao aritmtica de adio: 1 Verificam-se os sinais dos nmeros e efetua-se uma comparao entre eles eles. 2 Se ambos os nmeros tm o mesmo sinal, somam-se as magnitudes; o sinal do resultado o mesmo das parcelas. 3 Se os nmeros tm sinais diferentes:
a) identifica-se a maior das magnitudes e registra-se o seu sinal; i l b) subtrai-se a magnitude menor da maior (apenas as magnitudes); g ); c) sinal do resultado igual ao sinal da maior magnitude.

44

Aritmtica em Sinal e Magnitude


Exemplo: Realize as operaes aritmticas a

seguir (em sinal e magnitude). Considere a palavra de dados com 6 bits bits. a) (+13)10 + (+12)10 c) (-21) ( 21)10 + (+10)10 e) (+17) ( 17)10 + ( (+19) 19)10 b) (+18)10 + ( (-11) 11)10 d) ( (-17) 17)10 + ( (-9) 9)10 f) ( (-17) 17)10 + ( (-19) 19)10

45

Aritmtica em Sinal e Magnitude


Soluo: a) (+13)10 + (+12)10 +13 +12 +25 001101 001100 011001 b) (+18)10 + (-11)10 +18 -11 11 +7 010010 101011 000111

c) (-21)10 + (+10)10 -21 21 +10 - 11 110101 001010 101011

d) (-17)10 + (-9)10 -17 17 -9 -26 110001 101001 111010


46

Aritmtica em Sinal e Magnitude


Soluo: e) (+17)10 + (+19)10 vai 1 +17 +19 19 +36 010001 010011 100100 overflow -17 -19 19 -36 f) (-17)10 + (-19)10 vai 1 110001 110011 100100

Estouro (overflow) - existncia de um vai 1 para o bit de sinal. Faixa de representao de valores para 6 bits (em sinal e magnitude) -31 a + 31.
47

Aritmtica em Sinal e Magnitude


Subtrao (Minuendo - Subtraendo = Resultado)
Algoritmo para operao aritmtica de subtrao: 1. Troca-se o sinal do subtraendo. 2. Procede-se como no algoritmo da adio.

48

Aritmtica em Sinal e Magnitude


Exemplo: Realize as operaes aritmticas a seguir

(em sinal e magnitude). Considere a palavra de dados com 6 bits. bits a) ) (-18) ( )10 - ( (+12) )10 b) (-27)10 - (-14)10 c) (+27)10 - (+31)10 d) ( (+19) 19)10 - (-25) ( 25)10

49

Aritmtica em Sinal e Magnitude


Soluo: a) (-18)10 - (+12)10 -18 -12 12 -30 110010 101100 111110 -1210 b) (-27)10 - (-14)10 -27 +14 -13 111011 001110 101101 +1410

c) (+27)10 - (+31)10 -3110 +27 -31 -4 011011 111111 100100


overflow vai 1

d) (+19)10 - (-25)10 +2510 +19 +25 +44 010011 011001 101100


50

Aritmtica em Complemento de 2
Algoritmo go t o para pa a ope operao ao a aritmtica t t ca de ad adio: o
1. Somar os dois nmeros, bit a bit, inclusive o bit de sinal. 2 Desprezar o ltimo vai 2. vai 1 1 (para fora do nmero), nmero) se houver houver. 3. Se, simultaneamente, ocorrer vai 1 para o bit de sinal e vai 1 para fora do nmero, p , ou se ambos no ocorrerem, , o resultado est correto. 4. Se ocorrer apenas um dos dois vai 1 (ou para o bit de sinal ou para fora), f ) o resultado lt d est t i incorreto. t O Ocorreu um overflow fl .
O overflow somente pode ocorrer se ambos os nmeros tiverem o mesmo sinal (seja positivo ou ambos negativos) e, nesse caso, se o sinal do resultado for oposto ao dos nmeros.

51

Aritmtica em Complemento de 2
Algoritmo para operao aritmtica de subtrao:
1 Complementar a 2 o subtraendo 1. subtraendo, independentemente se um valor positivo ou negativo. 2 S 2. Somar os nmeros, utilizando tili d o algoritmo l it d da adio di j mostrado anteriormente.

52

Aritmtica em Complemento de 2
Resumindo, importante lembrar que:
As operaes de adio e subtrao so normalmente

realizadas como adio adio. As operaes de subtrao so realizadas como soma de complemento (minuendo mais o complemento do subtraendo). Se o resultado encontrado um valor positivo:
o valor l d decimal i l correspondente d t d da magnitude it d obtido btid por pura converso de base 2 para base 10.

Se o resultado encontrado um valor negativo g :


deve-se primeiro converter esse valor para representao de sinal e magnitude (consistir em trocar o valor dos bits da g e somar 1 ao resultado) ) e, , em seguida, g , converter a magnitude magnitude de base 2 para base 10.
53

Aritmtica em Complemento de 2
Exemplo: Realize as operaes aritmticas a

seguir (em complemento de 2). Considere a palavra l d de d dados d com 6 bit bits. a) ) (+13) ( 13)10 + (+15) ( 15)10 c) (+15)10 + (-13)10 e) ( (-24) 24)10 - (-15) ( 15)10 b) ( (+23) 23)10 + (+20) ( 20)10 d) (+20)10 - (+17)10 f) (-24) ( 24)10 - (+15)10

54

Aritmtica em Complemento de 2
Soluo: a) (+13)10 + (+15)10 001111 +13 13 +15 +28 001101 001111 011100 +23 +20 +43 b) (+23)10 + (+20)10 010100 010111 010100 101011

Resultado correto - no houve vai 1 nem para o bit de sinal nem para fora do nmero.

Resultado incorreto - houve vai 1 apenas para o bit de sinal. Overflow O fl - faixa f i de d representao t para 6 bits (-32 a 31)
55

Aritmtica em Complemento de 2
Soluo: c) (+15)10 + (-13)10 111111 +15 15 -13 +2 001111 110011 000010 +20 -17 +3 d) (+20)10 - (+17)10 111100 010100 101111 000011

Resultados corretos - houve vai 1 para o bit de sinal e para fora do nmero; este desprezado.
56

Aritmtica em Complemento de 2
Soluo: e) (-24)10 - (-15)10 001000 -24 24 +15 -9 101000 001111 110111 -24 24 -15 -39 f) (-24)10 - (+15)10 100000 101000 110001 011001

Resultado correto - no houve vai 1 para o bit de sinal nem para fora do nmero.

Resultado incorreto - houve vai 1 apenas para fora do nmero. Overflow O fl - faixa f i de d representao t para 6 bits (-32 a 31)
57

Exerccios
Ex1. Seja Sejam N1=+30 30d e N2=+20 0d. Qua Qual o valor a o mnimo o de b bits ts para represent-los (supondo sistema complemento de 2)? Com este nmero de bits, calcule N1 N1+N2 N2 Ex2. Sejam j N1=+30d e N2=+20d. Calcule N1-N2 Ex3. Sejam j N1=+20d e N2=+30d. Calcule N1-N2 Ex4. Sejam N1=+20d e N2=+20d. Calcule N1-N2

Exerccios:

Os nmeros a e b encontram-se encontram se codificados em complemento de 2 e armazenados em registradores A e B de seis bits de comprimento. Supondo que o contedo desses registradores [A]=13H e [B]=39 H, realizar as operaes [A] [B]. Os nmeros a e b encontram-se codificados em complemento de dois e armazenados em registradores A e B de cinco bits de comprimento. Supondo que o contedo desses registradores [A]=12H e [B]=14H, realizar a operao [A]+ [B].

Questo:
Num microprocessador com sistema de numerao em complemento de 2, e onde os nmeros so representados com 4 bits, a operao de soma dos nmeros 110 e 710 deveria gerar estouro de capacidade?

Anda mungkin juga menyukai