Baixe o app para aproveitar ainda mais
Prévia do material em texto
Universidade Federal de Campina GrandeUniversidade Federal de Campina Grande Engenharia ElétricaEngenharia Elétrica Ci ito Ló i oCi ito Ló i o Engenharia ElétricaEngenharia Elétrica Circuitos LógicosCircuitos Lógicos Representação de númerosRepresentação de números Revisão ♦ Principais sistemas de numeração utilizados em eletrônica e computação: Sistema Base Caracteres ou dígitos Bi á i 2 0 1 p ç p ç Binário 2 0 1 Octal 8 0 1 2 3 4 5 6 7 Decimal 10 0 1 2 3 4 5 6 7 8 9 Hexadecimal 16 0 1 2 3 4 5 6 7 8 9 A B C D E FHexadecimal 16 0 1 2 3 4 5 6 7 8 9 A B C D E F ♦De forma genérica: 1 0 1 2... , ... ... ...BXY ZW X B Y B Z B W B− −= × + × + × + × ♦De forma genérica: B={2,8,10,16,...} Revisão Sistema de Base 2 (Binário)( ) 11012 Principais representações:11012 , 1101b 2 Peso 2 Peso 2 0 1 2 Valor = 13Peso 2 Peso 2 2 3 Valor = 13 10 Ex. hodômetro binário Bit mais i ifi ti ( bM ) Bit menos significativo (bms)00000significativo( bMs) significativo (bms) Número de unidades (2 )0 Número de grupos de 2 (2 )1 Número de grupos de quatro (4=2 )2 Número de grupos de oito (8=2 )3Número de grupos de oito (8=2 ) Número de grupos de 16 (16=2 )4 Revisão Conversões: De uma base B para Decimal: Conversões: usar representação polinomial Da base decimal (PI PFd) para uma base B:Da base decimal (PI,PFd) para uma base B: Parte inteira (PI): método das Parte fracionária (PF): método das divisões sucessivas multiplicações sucessivas De binário para hexadecimal (e vice-versa): grupo de 4 bits ⇔ dígito hexadecimal Revisão Adição de inteiros binários sem sinal com n bits Estouro precisão transporte (“vai-um”) An-1 An-2 An-3 ... A2 A1 A0 Cn Cn-1 Cn-2 Cn-3 ... C2 C1 C0 C0=0 números de n bits a serem somados resultado c/ n bits n 1 n 2 n 3 2 1 0 Bn-1 Bn-2 Bn-3 ... B2 B1 B0 S S S S S S ++ resultado c/ n bits Regras : 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 Revisão Subtração de inteiros binários sem sinal com n bits Minuendo de n bits An-1 An-2 An-3 ... A2 A1 A0 Bn-1 Bn-2 Bn-3 ... B2 B1 B0--Subtraendo de n bits resultado c/ n bits Empréstimo S S S S S S Cn Cn-1 Cn-2 Cn-3 ... C2 C1 C0=0 resultado c/ n bits Sn-1 Sn-2 Sn-3 ... S2 S1 S0 estouro Regras : 0 - 0 = 0 1 - 0 = 1 0 - 1 = 1 com empréstimo de 1 0 - 1 - 1 = 0 com empréstimo de 1p Revisão Multiplicação: Processo similar ao decimal números de n bits a serem multiplicados An-1 An-2 An-3 ... A2 A1 A0 Bn-1 Bn-2 Bn-3 ... B2 B1 B0xa serem multiplicados resultados parciais P1n-1 P1n-2 P1n-3 ... P12 P11 P10 P2 1 P2 2 P2 3 P22 P21 P20 0P2n-1 P2n-2 P2n-3 ... P22 P21 P20 0 PNn-1 PNn-2 PNn-3 ...PN2 PN1 PN0 0 0 ... 0 0 S2n S2n-1 ... Sn Sn-1 Sn-2 Sn-3 ... S2 S1 S0 n 1 n 2 n 3 2 1 0 Regras : 0 x 0 = 0 0 x 1 = 0 1 x 1 = 1 Revisão Divisão: Processo similar ao decimalDivisão: Processo similar ao decimal Exemplo: 1 0 1 1 0 1 1 0 0 1 Dividendo Divisor p - 1 0 1 1 0 1 1 0 0 1 1 0 0 1 0 0 1 0 0 1 0 1 Quociente (0100<1001) 0 0 1 0 0 1 0 0 0 0- 0 0 1 0 0 ( ) - 0 0 1 0 0 1 1 0 0 1 0 0 0 0 Resto Representações binárias de números negativos E ú ti ???♦ E os números negativos??? ♦ É possível simplificar as operações it éti ú ti ???aritméticas com números negativos??? Si l Mód lSinal e Módulo ♦ Quando se existe números com quantidade de algarismos variadas, utiliza-se o número com maior valor absoluto para, p determinar a quantidade de dígitos necessários para representar os números (n). ♦Em binário 0 para + e 1 para - +1101 -1101 +101 +01 -11111 p p 001101 101101 000101 000001 111111 C l t d B Di i ídComplemento de Base Diminuída ♦ Complemento de base diminuída de um número x de n dígitos representado por C (x) é definido por:de n dígitos representado por CB-1(x) é definido por: 1( ) 1nBC x B x− = − − ♦No sistema decimal com base 10 o complemento de♦No sistema decimal com base 10 o complemento de base diminuída é o complemento de 9 x 48 54 65 8 62 C9(x) 51 45 34 91 379( ) C l t d B Di i ídComplemento de Base Diminuída l d b di i íd é l♦O complemento de base diminuída é o valor que falta para se chegar ao valor máximo permitido ♦Ex: O valor máximo de um número decimal de 2♦Ex: O valor máximo de um número decimal de 2 dígitos é 99 logo para qualquer número decimal de dois dígito DU o complemento de 9 é:de dois dígito DU o complemento de 9 é: C9(DU)= 99-DU Complemento de BaseComplemento de Base ♦ Complemento de base de um número x de n dígitos representado por CB (x) é definido por: ( ) nBC x B x= − ♦ Complemento de Base é o complemento de base diminuída mais 1. Logo é o valor que falta parag q p atingir o valor máximo +1. 1 1 1 ( ) ( ) 1 n n B B B x B x C x C x − = − − + = +1( ) ( ) 1B BC x C x−= + Representações binárias de números negativos Geralmente utilizam o MSB como sinal 1- Representação sinal/módulo Exemplo c/ n=8 bits: 1 0 0 1 1 0 0 1Exemplo c/ n 8 bits: Mód l (7bit )Bit de sinal: 0= positivo Módulo (7bits) 1= negativo Representa-se [-(2n-1-1)d, (2n-1-1)d] Representações binárias de números negativos 2- Representação em complemento de 1 Dado um número N com n bits, o complemento C1(N) é tal que N + C1(N) = 2n-1 Exemplo c/ n=8 bits: 0 0 0 1 1 0 0 1 p 1( ) q 1( ) =25dN= 1 1 1 0 0 1 1 0 =-25dCC11(N)=(N)= 1 1 1 1 1 1 1 1N+CN+C11(N)=(N)= =2n-1 Representa-se [-(2n-1-1)d, (2n-1-1)d] N CN C11(N)(N) 2 1 O complemento de 1 é obtido invertendo-se todos os bits do número originalg Representações binárias de números negativos 3- Representação em complemento de 2 Dado um número N com n bits, o complemento C2(N) é tal que N + C2(N) = 2n Exemplo c/ n=8 bits: 0 0 0 1 1 0 0 1 p 2( ) q 2( ) ==25dN=N= 1 1 1 0 0 1 1 0C1(N)=)= 1 1 1 0 0 1 1 1CC (N)=(N)= CC (N)+(N)+11== =-25d em C1 = 25 em C 00 00 00 00 00 00 00 00N+C2(N)= =2n 1 1 1 0 0 1 1 1CC22(N)=(N)= CC11(N)+(N)+11== =-25d em C2 11 O complemento de 2 é obtido invertendo-se todos os bits do número original, e acrescentando-se 1 ao resultado Representações binárias de números negativos Representação em complemento de 2 (continuação) Representa-se [-(2n-1)d, (2n-1-1)d] Para obter o módulo de um número negativoPara obter o módulo de um número negativo (MSB=1), basta calcular seu complemento de 2 Para valores positivos: MSB=0!!!! Representações binárias de números negativos Representação em complemento de 2 (continuação) transporte (“vai-um”) C C 1 C 2 C 3 C2 C1 C0 Houve estouro se Cn é diferente de Cn-1 números de n bits a serem somados transporte ( vai-um ) An-1 An-2 An-3 ... A2 A1 A0 B B B B B B Cn Cn-1 Cn-2 Cn-3 ... C2 C1 C0 ± ou subtraidos resultado c/ n bits 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 subtração: A - B = A + (-B) = A+ C2(B) Aritmética em complemento de 2 “Implementação”Implementação Representação de Números InteirosRepresentação de Números Inteiros T d d d é i d♦ Todos os dados numéricos podem ser representados como uma sequência de 0s e 1s. ♦ Os números podem ser positivos ou negativos. As operações aritméticas, em particular a subtração, podem originar resultados negativos. U t i di l d fi id i tã♦ Um aspecto primordial a ser definido seria então como representar o sinal. ♦♦ ComoComo éé queque umum sistemasistema digitaldigital sabesabe queque umum dadodado númeronúmero éé negativo?negativo? 20 gg Representação de Números InteirosRepresentação de Números Inteiros ♦ A resposta a esta pergunta é que isso depende da convenção usada na representação de números. ♦ As convenções mais usuais são as seguintes : Representação em sinal e magnitude (módulo eRepresentação em sinal e magnitude (módulo eRepresentação em sinal e magnitude (módulo e Representação em sinal e magnitude (módulo e sinal)sinal) Representação em complemento de 1Representação em complemento de 1 Representação em complemento de 2Representação em complemento de 2 21Representação em módulo e sinalRepresentação em módulo e sinal ♦ O bit mais significativo representa o sinal:g p •• 00 (indica um número positivonúmero positivo) • 1 1 (indica um número negativonúmero negativo) ♦ Os demais bits representam a grandeza grandeza (magnitude)(magnitude). ♦ O valor dos bits usados para representar a magnitude magnitudesinal ♦ O valor dos bits usados para representar a magnitude independe do sinal (sendo o número positivo ou negativo, a representação binária da magnitude será a mesma). Exemplos: (8 bits) 001010012 = +4110 22 101010012 = - 4110 Representação em módulo e sinalRepresentação em módulo e sinal ♦♦ExemplosExemplos:: ((88 bits)bits) Valor binário com 8 bits Valor binário com 8 bits Valor decimalValor decimal ♦♦ e p ose p os ((88 b ts)b ts) 00001001 +9 (7 + bit de sinal)(7 + bit de sinal) 01111111+127 10001001 -9 11111111 -127 01111111 +127 23 Representação em complemento de 1Representação em complemento de 1 Representação de números inteiros positivos Representação de números inteiros positivos Igual à representação em módulo e sinal (sinal-magnitude). Representação de números inteiros negativosRepresentação de números inteiros negativosp ç gp ç g (a partir da representação em sinal-magnitude) Mantém-se o bit de sinal; Inverte-se os demais bits (0 -> 1) e (1 ->0). Exemplo : (8 bits)Exemplo : (8 bits) Inverte se os demais bits (0 1) e (1 0). p ( ) 10101001MS = -4110 p ( ) 10001100MS = -1210 11010110C111110011C1 24 Representação em complemento de 2Representação em complemento de 2 Representação de números inteiros positivos Representação de números inteiros positivos Igual à representação em módulo e sinal (sinal-magnitude). Representação de números inteiros negativosRepresentação de números inteiros negativosp ç gp ç g (a partir da representação em complemento de 1) Soma-se 1 ao número em complemento de 1 (complemento de 1 + 1). Exemplo : (8 bits)Exemplo : (8 bits) 1 1). 11010110C1 = -4110 11110011C1 = -1210 11010111C211110100C2 25 Representação de Números InteirosRepresentação de Números Inteiros ExemploExemplo: Escreva os números decimais abaixo nas seguintessc e a os ú e os dec a s aba o as segu tes representações: sinal e magnitude; representação em complemento de 1; representação em complemento de 2 ( tili ando 8 bits se e istir representação)(utilizando 8 bits, se existir representação). a) 1a) -1 b) –20 c) 127c) –127 d) –128 26 Representação de Números ReaisRepresentação de Números Reais ♦ Em alguns tipos de cálculo a faixa de variação dos♦ Em alguns tipos de cálculo, a faixa de variação dos números envolvidos é muito grande. ♦♦ ExemploExemplo: – 1) Massa do elétron - da ordem de 9 x 10-28 gramas 33– 2) Massa do Sol - aproximadamente igual a 2 x 1033 gramas – Faixa de variação: > 1060 – Exemplo de representação (34 dígitos à esquerda do pontoExemplo de representação (34 dígitos à esquerda do ponto decimal e 28 dígitos à direita do mesmo) 1) 0000000000000000000000000000000000 00000000000000000000000000091) 0000000000000000000000000000000000.0000000000000000000000000009 2) 2000000000000000000000000000000000.0000000000000000000000000000 27 Representação de Números ReaisRepresentação de Números Reais ♦ Forma usual de representação de números reais:♦ Forma usual de representação de números reais: parteparte inteira,inteira, vírgulavírgula (ou(ou ponto),ponto), parteparte fracionáriafracionária.. ♦ Esta representação, embora cômoda para cálculos no papel, não é adequada para processamento nopapel, não é adequada para processamento no computador. ♦♦ ExemploExemplo:: 4545 724724♦♦ ExemploExemplo:: 4545,,724724 28 Representação de Números ReaisRepresentação de Números Reais O ú 45 72445 724 d♦ O número 45,72445,724 pode ser expresso como: •• 45,724 x 1045,724 x 1000 •• 45724 x 1045724 x 10--33 •• 0,45724 x 100,45724 x 1022 ♦ É necessário o uso de um sistema de♦ É necessário o uso de um sistema de representação de números no qual a faixa de variação dos números seja independentede variação dos números seja independente do número de dígitos significativos dos números representados 29 números representados. Representação em Ponto FlutuanteRepresentação em Ponto Flutuante ♦ Uma maneira de separar a faixa de variação dosp ç números de sua precisão consiste em representá-lo na notação científica. n n = = f f x 10x 10ee ff fração ou significando (ou mantissa)ff - fração ou significando (ou mantissa) ee - expoente (inteiro positivo ou negativo) ♦ Qualquer número (inteiro ou fracionário) pode ser expresso no formato númeronúmero xx basebaseexpoenteexpoente, podendo-se variar a posição da vírgula e o expoentevariar a posição da vírgula e o expoente. ♦ Denominação: representaçãorepresentação emem pontoponto flutuanteflutuante (o t i i ã difi d üê i 30 ponto varia sua posição, modificando, em conseqüência, o valor representado). Representação em Ponto FlutuanteRepresentação em Ponto Flutuante ♦ Representação pode variar (“flutuarflutuar”) a posição da♦ Representação pode variar ( flutuarflutuar ) a posição da vírgula, ajustando a potência da base. ♦♦ ExemplosExemplos: • 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 faixafaixa dede variaçãovariação dos números é determinada pela quantidade de dígitos do expoente e apela quantidade de dígitos do expoente e a precisãoprecisão é determinada pela quantidade de dígitos do significando. 31 Representação em Ponto FlutuanteRepresentação em Ponto Flutuante Ilustração:Ilustração:Ilustração:Ilustração: ♦ No sistema binário: 110101110101 = 110,101x2110,101x233 = 1,10101x21,10101x255 = 0,0110101x20,0110101x277 ♦ Números armazenados em um sistema digital - os♦ Números armazenados em um sistema digital os expoentes serão também gravados na base dois Como 310 = 112 e 7=1112 110,101 x (10)11 = 1,10101x(10)101 = 0,0110101x(10)111 ♦ Representação normalizada - há apenas um “1” antes da vírgula 32 ExemploExemplo: 1,10101x(10)1,10101x(10)101101 Representação em Ponto FlutuanteRepresentação em Ponto Flutuante ♦ Ocorre overflowoverflow quando o valor absoluto do dado a ser♦ Oco e o e oo e o qua do o a o abso uto do dado a se representado excede a capacidade de representação, porque o número de bits do expoente (neste caso, positivo) é insuficiente para representar o dadopositivo) é insuficiente para representar o dado. 33 Representação de Números Decimais Representação de Números Decimais Codificados em Binário (BCD)Codificados em Binário (BCD)Codificados em Binário (BCD)Codificados em Binário (BCD) ♦ A idéia do BCD é representar, em binário, cada algarismo de forma que o número original sejaalgarismo de forma que o número original seja integralmente preservado. ♦ A codificação BCD não possui extensão fixa, possibilitando representar números com precisãop p p variável - quanto maior o número de bits, maior será a precisão. 34 Representação de Números Decimais Representação de Números Decimais Codificados em Binário (BCD)Codificados em Binário (BCD) Tabela de Representação dos Números Decimais em BCDTabela de Representação dos Números Decimais em BCD Codificados em Binário (BCD)Codificados em Binário (BCD) çç Decimal BCD 0 0000 1 0001 2 00102 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 35 9 1001 Continua ... Representação de Números Decimais Representação de Números Decimais Codificados em Binário (BCD)Codificados em Binário (BCD) Tabela de Representação dos Números Decimais em BCDTabela de Representação dos Números Decimais em BCD Codificados em Binário (BCD)Codificados em Binário (BCD) Decimal BCD 10 Inválido 11 Inválido 12 Inválido 13 Inválido 14 Inválido 15 Inválido15 Inválido ♦♦ ExemploExemplo:: 2392391010 == (( ?? )) BCDBCD 2 = 00102 3 = 00112 e 36 3 00112 e 9 = 10012, logo: 239239 == 001000111001001000111001 (BCD)(BCD).. Representação de Números Decimais Representação de Números DecimaisCodificados em Binário (BCD)Codificados em Binário (BCD)Codificados em Binário (BCD)Codificados em Binário (BCD) ♦ Entre os algarismos sem código válido em decimal (códigos representativos dos valores decimais de 10 a 15), é comum utilizar alguns deles para indicar o sinal do número. ♦ Há sistemas que adotam a seguinte convenção para o i l d ú t d BCDsinal dos números representados em BCD: – 1100 representa o sinal positivo (“+”) 1101 representa o sinal negativo (“ ”)– 1101 representa o sinal negativo ( - ) 37 Operações aritméticas Operações aritméticas –– Sistema BinárioSistema BinárioSistema BinárioSistema Binário ♦♦ AdiçãoAdição S bt ãS bt ã♦♦ SubtraçãoSubtração ♦♦ MultiplicaçãoMultiplicação ♦♦ DivisãoDivisão 38 Adição Adição –– Sistema binárioSistema binárioçç RegraRegra:: 39 Subtração Subtração –– Sistema binárioSistema binárioçç RegraRegra:: 40 Outras Operações Aritméticas Outras Operações Aritméticas MultiplicaçãoMultiplicação –– Sistema binárioSistema binário RR Multiplicação Multiplicação –– Sistema binárioSistema binário RegraRegra 0 × 0 = 0 0 × 1 = 0 1 × 0 = 0 1 × 1 = 1 41 Outras Operações Aritméticas Outras Operações Aritméticas DivisãoDivisão –– Sistema binárioSistema binárioDivisão Divisão –– Sistema binárioSistema binário ♦ Procedimento igual ao dos decimais, considerando- se apenas que: 00//11 == 00 e 11//11 == 11. DivisãoDivisão pelapela BaseBase ♦ Deslocando-se os algarismos de um número para a direita ou a sua vírgula para a esquerda. 42 A Informação e sua RepresentaçãoA Informação e sua Representação ♦♦ Aritmética em Sinal e MagnitudeAritmética em Sinal e Magnitude ♦♦ Aritmética em Complemento de 2Aritmética em Complemento de 2 43 Aritmética em Sinal e MagnitudeAritmética em Sinal e Magnitude Algoritmo para operação aritmética de adição:Algoritmo para operação aritmética de adição:Algoritmo para operação aritmética de adição:Algoritmo para operação aritmética de adição: 1 Verificam-se os sinais dos números e efetua-se uma comparação entre elescomparação entre eles. 2 Se ambos os números têm o mesmo sinal, somam-se as magnitudes; o sinal do resultado é o mesmo das parcelas. 3 Se os números têm sinais diferentes: a) identifica-se a maior das magnitudes e registra-se o i lseu sinal; b) subtrai-se a magnitude menor da maior (apenas as magnitudes);g ); c) sinal do resultado é igual ao sinal da maior magnitude. 44 Aritmética em Sinal e MagnitudeAritmética em Sinal e Magnitude ♦♦ ExemploExemplo: Realize as operações aritméticas a seguir (em sinal e magnitude). Considere a palavra de dados com 6 bitsde dados com 6 bits. a) (+13) + (+12) b) (+18) + ( 11)a) (+13)10 + (+12)10 b) (+18)10 + (-11)10 c) ( 21) + (+10) d) ( 17) + ( 9)c) (-21)10 + (+10)10 d) (-17)10 + (-9)10 e) (+17)10 + (+19)10 f) (-17)10 + (-19)10e) ( 17)10 ( 19)10 f) ( 17)10 ( 19)10 45 Aritmética em Sinal e MagnitudeAritmética em Sinal e Magnitude Solução:Solução: a) (+13)10 + (+12)10 b) (+18)10 + (-11)10 +13 001101 +12 001100 +18 010010 -11 101011+12 001100 +25 011001 11 101011 + 7 000111 c) (-21)10 + (+10)10 d) (-17)10 + (-9)10 21 110101 17 110001-21 110101 +10 001010 -17 110001 -9 101001 46 - 11 101011 -26 111010 Aritmética em Sinal e MagnitudeAritmética em Sinal e Magnitude Solução:Solução: e) (+17)10 + (+19)10 f) (-17)10 + (-19)10 “vai 1”“vai 1” “vai 1”“vai 1” +17 010001 +19 010011 -17 110001 -19 11001119 010011 +36 100100 19 110011 -36 100100overflowoverflow Estouro (overflowoverflow) - existência de um “vai 1” para o bit de sinal. Faixa de representação de valores para 6 bits (em sinal e 47 Faixa de representação de valores para 6 bits (em sinal e magnitude) ⇒ -31 a + 31. Aritmética em Sinal e MagnitudeAritmética em Sinal e Magnitude Subtração (Minuendo Subtração (Minuendo -- Subtraendo = Resultado)Subtraendo = Resultado) Algoritmo para operação aritmética de subtração:Algoritmo para operação aritmética de subtração: 1. Troca-se o sinal do subtraendo. 2. Procede-se como no algoritmo da adição. 48 Aritmética em Sinal e MagnitudeAritmética em Sinal e Magnitude ♦♦ ExemploExemplo: Realize as operações aritméticas a seguir (em sinal e magnitude). Considere a palavra de dados com 6 bitsdados com 6 bits. a) (-18)10 - (+12)10) ( )10 ( )10 b) (-27)10 - (-14)10 c) (+27)10 - (+31)10 d) ( 19) ( 25)d) (+19)10 - (-25)10 49 Aritmética em Sinal e MagnitudeAritmética em Sinal e Magnitude Solução:Solução: a) (-18)10 - (+12)10 b) (-27)10 - (-14)10 -1210 +1410 -18 110010 -12 101100 -27 111011 +14 00111012 101100 -30 111110 +14 001110 -13 101101 c) (+27)10 - (+31)10 d) (+19)10 - (-25)10 +27 011011 +19 010011 -3110 +2510 vai 1vai 1+27 011011 -31 111111 +19 010011 +25 011001 50 - 4 100100 +44 101100overflowoverflow Aritmética em Complemento de 2Aritmética em Complemento de 2 Algoritmo para operação aritmética de adição:Algoritmo para operação aritmética de adição:go t o pa a ope ação a t ét ca de ad çãogo t o pa a ope ação a t ét ca de ad ção 1. Somar os dois números, bit a bit, inclusive o bit de sinal. 2 Desprezar o último “vai 1” (para fora do número) se houver2. Desprezar o último vai 1 (para fora do número), se houver. 3. Se, simultaneamente, ocorrer “vai 1” para o bit de sinal e “vai 1” para fora do número, ou se ambos não ocorrerem, o resultado p , , está correto. 4. Se ocorrer apenas um dos dois “vai 1” (ou para o bit de sinal f ) lt d tá i t O flflou para fora), o resultado está incorreto. Ocorreu um overflowoverflow. – O overflowoverflow somente pode ocorrer se ambos os números tiverem o mesmo sinal (seja positivo ou ambos negativos) e, nesse caso,o mesmo sinal (seja positivo ou ambos negativos) e, nesse caso, se o sinal do resultado for oposto ao dos números. 51 Aritmética em Complemento de 2Aritmética em Complemento de 2 Algoritmo para operação aritmética de subtração:Algoritmo para operação aritmética de subtração:Algoritmo para operação aritmética de subtração:Algoritmo para operação aritmética de subtração: 1 Complementar a 2 o subtraendo independentemente se é1. Complementar a 2 o subtraendo, independentemente se é um valor positivo ou negativo. 2 S ú tili d l it d di ã já2. Somar os números, utilizando o algoritmo da adição já mostrado anteriormente. 52 Aritmética em Complemento de 2Aritmética em Complemento de 2 Resumindo, é importante lembrar que:Resumindo, é importante lembrar que:Resumindo, é importante lembrar que:Resumindo, é importante lembrar que: ♦ As operações de adição e subtração são normalmente realizadas como adiçãorealizadas como adição. ♦ As operações de subtração são realizadas como soma de complemento (minuendo mais o complemento do subtraendo). ♦ Se o resultado encontrado é um valor positivovalor positivo: l d i l d t d it d é btid– o valor decimal correspondente da magnitude é obtido por pura conversão de base 2 para base 10. ♦ Se o resultado encontrado é um valor negativovalor negativo:gg – deve-se primeiro converter esse valor para representação de sinal e magnitude (consistirá em trocar o valor dos bits da magnitude e somar 1 ao resultado) e, em seguida, converter a 53 g ) , g , magnitude de base 2 para base 10. Aritmética em Complemento de 2Aritmética em Complemento de 2 ♦♦ ExemploExemplo: Realize as operações aritméticas a seguir (em complemento de 2). Considere a l d d d 6 bitpalavra de dados com 6 bits. ) ( 13) ( 15) b) ( 23) ( 20)a) (+13)10 + (+15)10 b) (+23)10 + (+20)10 c) (+15) + (-13) d) (+20) - (+17)c) (+15)10 + (-13)10 d) (+20)10 - (+17)10 e) ( 24) ( 15) f) ( 24) (+15)e) (-24)10 - (-15)10 f) (-24)10 - (+15)10 54 Aritmética em Complemento de 2Aritmética em Complemento de 2 Solução:Solução: a) (+13)10 + (+15)10 b) (+23)10 + (+20)10 00001111 13 001101 01010100 +13 001101 +15 001111 +23 010111 +20 010100 +28 011100 +43 101011 ResultadoResultado corretocorreto - não houve “vai 1” nem para o bit de sinal nem para fora ResultadoResultado incorretoincorreto - houve “vai 1” apenas para o bitde sinal. O flO fl f i d t ã 55 bit de sinal nem para fora do número. OverflowOverflow - faixa de representação para 6 bits (-32 a 31) Aritmética em Complemento de 2Aritmética em Complemento de 2 Solução:Solução: c) (+15)10 + (-13)10 d) (+20)10 - (+17)10 11111111 15 001111 1111100 +15 001111 -13 110011 +20 010100 -17 101111 +2 000010 +3 000011 ResultadosResultados corretoscorretos - houve “vai 1” para o bit de sinal e para fora do 56 número; este é desprezado. Aritmética em Complemento de 2Aritmética em Complemento de 2 Solução:Solução: e) (-24)10 - (-15)10 f) (-24)10 - (+15)10 00001000 24 101000 10100000 24 101000-24 101000 +15 001111 -24 101000 -15 110001 -9 110111 -39 011001 ResultadoResultado corretocorreto - não houve “vai 1” para o bit de sinal nem para fora do ResultadoResultado incorretoincorreto - houve “vai 1” apenas para fora do número. O flO fl f i d t ã 57 sinal nem para fora do número. OverflowOverflow - faixa de representação para 6 bits (-32 a 31) Exercícios Ex1. Sejam N1=+30d e N2=+20d. Qual o valor mínimo de bitsSeja 30d e 0d Qua o a o o de b ts para representá-los (supondo sistema complemento de 2)? Com este número de bits, calcule N1+N2Com este número de bits, calcule N1 N2 Ex2. Sejam N1=+30d e N2=+20d. Calcule N1-N2j d d Ex3. Sejam N1=+20d e N2=+30d. Calcule N1-N2j d d Ex4. Sejam N1=+20d e N2=+20d. Calcule N1-N2 Exercícios: Os números a e b encontram se codificados em complemento de 2 e armazenados emOs números a e b encontram-se codificados em complemento de 2 e armazenados em registradores A e B de seis bits de comprimento. Supondo que o conteúdo desses registradores é [A]=13H e [B]=39 H, realizar as operações [A]± [B]. Os números 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 conteúdo desses registradores é [A]=12H e [B]=14H, realizar a operação [A]+ [B]. Questão: Num microprocessador com sistema de numeração em complemento de 2, e onde os números são representados com 4 bits, a operação de soma dos números –110 e –710 deveria gerar estouro de capacidade?
Compartilhar