Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 1 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 1 PCS 2215 Sistemas Digitais I Módulo 03a – Aritmética Binária Andrade, Marco Túlio Carvalho de Margi, Cíntia Borges Professores Responsáveis versão: 2.0 (agosto de 2.013) © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 2 Aritmética Binária 1. Soma e Subtração com Números Decimais e Binários 2. Aritmética Modular 3. Operações em Decimal 4. Representação do Sinal no Sistema Binário 5. Notação e Operações em Sinal-Módulo (ou Sinal-Magnitude) Conteúdo 2 2 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 3 6. Sistemas Numéricos de Complemento da Base 7. Sistema de Representação de Números Binários em Complemento de 2 8. Sistema Numérico de Complemento da Base Diminuída ou Complemento da Base Menos Um 9. Sistema de Representação de Números Binários em Complemento de 1 Conteúdo © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 4 Aritmética Binária 10. Operações de Soma e Subtração em Complemento de 2 11. Operações de Soma e subtração em Complemento de 1 Bibliografia deste Módulo Apêndice Conteúdo 3 3 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 5 Operações com números decimais (no papel): O resultado da operação (ex.: soma) pode ser decidido calculando-se os resultados parciais em fatias individuais: 1o operando 2o operando Resultado da soma SA SB S Sinais Dígitos de magnitude (valor) ... ... ... Ai+2 Bi+2 i+2 Ai+1 Bi+1 i+1 Ai Bi i A0 B0 0 A1 B1 1 VA: Vai-um VE: Vem-um ... ... ... ... ... ... no ilimitado de fatias 1. Soma e Subtração com Números Decimais e Binários © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 6 Operações com números binários (no compu- tador): O resultado da operação (ex.: soma) também pode ser decidido calculando-se os resultados parciais em fatias individuais, porém .........: 1o operando 2o operando Resultado da soma SA SB S Dígitos bináriossinais magnitude ... ... ... Ai-1 Bi-1 i-1 Ai+1 Bi+1 i+1 Ai Bi i VA: Vai-um VE: Vem-um ... ... ... ... ... ... no limitado de fatias 1. Soma e Subtração com Números Decimais e Binários 4 4 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 7 Operações com números decimais (no papel): O resultado da operação (ex.: subtração) pode ser decidido calculando-se os resultados parciais em fatias individuais: 1o operando 2o operando Resultado da subtração SA SB S Sinais Dígitos de magnitude (valor) ... ... ... Ai+2 Bi+2 i+2 Ai+1 Bi+1 i+1 Ai Bi i A0 B0 0 A1 B1 1 EA: Empresta-um ... ... ... ... ... ... no ilimitado de fatias EA: Empresta-um 1. Soma e Subtração com Números Decimais e Binários © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 8 Operações com números binários (no compu- tador): O resultado da operação (ex.: subtra- ção) também pode ser decidido calculando-se os resultados parciais em fatias individuais, porém .........: 1o operando 2o operando Resultado da subtração SA SB S Dígitos bináriossinais magnitude ... ... ... Ai-1 Bi-1 i-1 Ai+1 Bi+1 i+1 Ai Bi i ... ... ... ... ... ... no limitado de fatias EA: Empresta-um EA: Empresta-um 1. Soma e Subtração com Números Decimais e Binários 5 5 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 9 Tabela 1.1.: Resultado de operações de soma (adição) e subtração (diferença) de uma fatia de números representados em binário: – Vem-um, (Carry-in; cIN); Vai-um (Carry- out; cOUT); – Empresta-um (Borrow-in; bIN) – A ser subtraído desta fatia, que é mais significati- va, e para anterior que precisou emprestar; – Empresta-um (Borrow-out; bOUT) – A ser subtraído da fatia seguinte, que é mais significativa que esta, e da qual esta precisou emprestar. 1. Soma e Subtração com Números Decimais e Binários © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 10 1. Soma e Subtração com Números Decimais e Binários cIN [bIN] x y (soma) c OUT d (diferença) b OUT 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 1 0 1 0 1 0 0 1 1 0 1 0 0 1 0 0 1 0 1 1 1 0 1 0 1 0 1 1 1 0 0 1 0 0 1 1 1 1 1 1 1 6 6 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 11 Desafio: Desenvolver técnicas de realização de operações, que fundamentalmente estarão baseadas na escolha do tipo de representação que se utilizará para os números binários, a fim de resolver os empecilhos e problemas das operações de soma e subtração em binário. 1. Soma e Subtração com Números Decimais e Binários © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 12 2.1. Aritmética do Relógio (ou Circular) Alguns operadores da Aritmética convencional podem ser imaginados como sendo equivalentes a uma série de movimentos ao longo da linha dos números. 2. Aritmética Modular 1 2 9 3 4 5 6 8 7 7 7 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 13 2.1. Aritmética do Relógio (ou Circular) Equação elíptica: x3 – x2 = y2 + y Resolução: é quase impossível resolver diretamente esta equação. Solução trivial: x = 0 e y = 0 03 – 02 = 02 + 0 Solução ainda trivial mas um pouco mais interessante: x = 1 e y = 0 13 – 12 = 02 + 0 2. Aritmética Modular © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 14 2.1. Aritmética do Relógio (ou Circular) Podem existir outras soluções para a Equação Elíptica mas, com uma quantidade infinita de números a investigar . Aritmética do Relógio envolve cortar a linha dos números e curvá-la sobre si mesma, criando-se um anel de números em vez de uma linha de números. 2. Aritmética Modular 8 8 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 15 Tabela: Aritmética Convencional e do Relógio. 2. Aritmética Modular Aritmética Convencional Aritmética do Relógio Dígitos = conjunto dos números Naturais = N Dígitos = {0,1,2,3,4} 4 + 0 = 4 4 + 0 = 4 4 + 1 = 5 4 + 1 = 0 4 + 2 = 6 4 + 2 = 1 4 + 3 = 7 4 + 3 = 2 4 + 4 = 8 4 + 4 = 3 4 + 5 = 9 (4 + 4) + 1 = 4 4 + 6 = 10 (4 + 4) + 2 = 0 4 + 7 = 11 (4 + 4) + 3 = 1 4 + 8 = 12 (4 + 4) + 4 = 2 4 + ... = ... ((4 + 4) + 4) + ... = ... 0 4 1 3 2 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 16 2. Aritmética Modular Subtrair: Movimento do ponteiro no sentido anti- horário Subtrair 4 intervalos a partir de 3 horas da tarde ...Somar: Movimento do ponteiro no sentido horário. ... é equivalente a somar 8 intervalos a partir de 3 horas da tarde. • Aritmética do Relógio pode permitir: • Transformar uma subtração em uma adição, por exemplo; • Alternativas de representação de números. 9 9 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 17 Operações de subtração em decimal [1/3]: 0 13 18 . . . 0 13 18 0 13 18 0 13 499 1 4 918 . . . 1 4 911 1 4 910 1 418 9 – 499 – 4 9 9 . . . – 4 9 9 – 4 9 9 – 4 9 9 000 9 9 9 . . . 9 9 2 9 9 1 9 9 0 (0) (–1) . . . (–8) (–9) (–10) 103 =1.000= 999 – (–1) = 992 – (–8) = 991 – (–9) = 990 – (–10) Obs: Ao realizar a operação de subtrair 1.000 do resultado obtém-se o resultado correto. 3. Operações em Decimal © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 18 Operações de subtração em decimal [2/3]: 0 0 9 18 . . . 0 9 18 0 9 0 9 17 1 1099 1 10 918 . . . 1 10 910 1 10189 1 10 818 – 499 – 4 9 9 . . . – 4 9 9 – 4 9 9 – 4 9 9 600 5 9 9 . . . 5 9 1 5 9 0 5 8 9 (–400) (–401) . . . (–409) (–410) (–411) 103 =1.000= 599 – (–401) = 591 – (–409) = 590 – (–410) = 589 – (–411) Obs: Ao realizar a operação de subtrair 1.000 do resultado obtém-se o resultado correto. 3. Operações em Decimal 10 10 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 19 Operações de subtração em decimal [3/3]: 0 9 0 9 9 . . . 0 9 9 0 9 9 0 1 10109 1 101018 . . . 1 101011 1 101010 1 10 0 0 – 4 99 – 4 9 9 . . . – 4 9 9 – 4 9 9 – 5 0 0 510 5 0 9 . . . 5 0 2 5 0 1 5 0 0 (–490) (–491) . . . (–498) (–499) (–500) 103 = 1.000 = 509 – (–491) = 508 – (–492) = 502 – (–498) = 501 – (–499) = 500 – (–500) Obs: Ao realizar a operação de subtrair 1.000 do resultado obtém-se o resultado correto. 3. Operações em Decimal © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 20 O que está havendo com as operações anteriores? 3. Operações em Decimal A operação que parece estar sendo feita A operação que está sendo feita de fato Faixa de valor Inteiro Faixa de Represen- tação Simbólica m – p . q 103 + m – p . 103 + q De +499 até 0 De 499 até 0 De –1 até –500 De 999 até 500 Tabela 3.1. 11 11 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 21 3. Operações em Decimal Base decimal e 3 dígitos Faixa de Números que se podem representar com 3 dígitos +999 +998 .... +501 +500 Valores inteiros Representação Simbólica +499 +499 499 +498 +498 498 .... .... .... +002 +002 002 +001 +001 001 000 000 000 –001 –001 999 –002 –002 998 .... .... .... –498 –498 502 –499 –499 501 –500 –500 500 –501 .... –998 –999 Tabela 3.2. © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 22 Pergunta: O que ocorre quando, adotada a representação anterior, quer-se operar com o valor numérico inteiro de “+877”? 3. Operações em Decimal Resultado pode ser obtido: 0 9 9 Complementando -se todos os dígitos de b–1 e somando -se 1 ao resultado. 1 101010 9 6 – 1 2 3 – 3 + 1 8 7 7 6 7 Resultado é o Complemento b(123) Tabela 3.3. 12 12 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 23 Resposta: Assumir que 877 representa o valor –123 é possível se houver uma divisão adequada no espaço de representação. Esta divisão foi apresentada na Tabela 3.2. – Uma das possíveis associações de símbolos utilizando-se três dígitos de representação. Tabela 3.4.: Obtida reescrevendo-se a Tabela 3.2. para este exemplo específico – Verifica- se que o valor numérico inteiro +877 não dispõe de uma representação simbólica associada. 3. Operações em Decimal © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 24 3. Operações em Decimal Tabela 3.4. Base decimal e 3 dígitos Faixa de Números que se podem representar com 3 dígitos +999 .... +877 .... +500 Valores inteiros Representação Simbólica +499 +499 499 .... .... .... +001 +001 001 000 000 000 –001 –001 999 .... .... .... –123 –123 877 .... .... .... –500 –500 500 –501 .... –999 13 13 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 25 Exercício 3.1. Escreva os passos de um algoritmo para efetuar a soma de dois números inteiros, dado que a únicas funções disponíveis são: SOMA (a,b) : soma dois inteiros não negativos. MODIF (a,b) : devolve |a - b | (módulo da diferença). INV (a) : Inverte o sinal de a. 3. Operações em Decimal © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 26 Quando se efetúa uma operação de soma mentalmente (ex: -5 + 3 = -2) realiza-se uma série de comparações e tomam-se decisões. Ao reproduzir esta forma de aritmética no computador, em teoria estas comparações e decisões teriam que ser reproduzidas, o que poderia tornar o sistema computacional lento. Deve-se buscar então um sistema de representação dos operandos e realização das operações que não apresente esta limitação! 3. Operações em Decimal 14 14 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 27 Diagrama de blocos Operando A Operando B Comparador de Magnitude Somador Inversão de Sinal Operando A Operando B 3. Operações em Decimal © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 28 O Modelo de operação aritmética deve tratar: Algoritmos complicados e lentos para realização da operação; Se possível reduzir operações a um único tipo implementado em hardware – Exemplo: Realizando uma subtração por meio de adição; 3. Operações em Decimal 15 15 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 29 Limitações de faixa de representação e de fatias disponíveis para isto; Os problemas com a representação dos sinais e sua operação; A questão do Vai-um, Vem-um, Empresta-um (Borrow-in), Empresta-um (Borrow-out). 3. Operações em Decimal © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 30 4. Representação do Sinal Como representar o sinal (+ ou -) de um número a ser armazenado e processado em binário pelo computador? A solução mais adotada é utilizar o bit mais à esquerda para representar o sinal, sendo que: 0 indica positivo e 1 indica negativo. 4. Representação do Sinal no Sistema Binário 16 16 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 31 5.1. Notação Sinal-Magnitude(Módulo)Exemplo – Supondo-se palavras de 8 bits: + 27 = 0 0 0 1 1 0 1 1 - 27 = 1 0 0 1 1 0 1 1 Problemas: – Há 2 representações para o número zero; – Algoritmo de soma necessita de vários passos. MóduloSinal 5. Notação e Operações em Sinal-Magnitude © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 32 5.1. Adição em Sinal-Magnitude + 15 = 0 0 0 0 1 1 1 1 + 01 = 0 0 0 0 0 0 0 1 + 16 = 0 0 0 1 0 0 0 0 Lembrar que o algoritmo necessita realizar várias operações intermediárias! 5. Notação e Operações em Sinal-Magnitude 17 17 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 33 Faixa de representação de Complemento da Base: Uma representação para o zero – Uma representação a mais para os números negativos, que é o número – ([rn–1/2]CHÃO). Negação: – Sinal-Magnitude – Muda-se o sinal; – Complemento da Base – Calcula-se o complemento de um número de acordo com uma definição. 6. Sistemas Numéricos de Complemento da Base 1 2 nraté 2 nrDe TETO CHÃO © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 34 Núm. D, notação posicional (n dígitos di): D = dn-1dn-2...d1d0 Complemento da Base r (sigla Inglês radix), do número D – Obtido subtraindo-se este número de rn rn – D. – Se 1 ≤ D ≤ rn-1, 1 ≤ rn – D ≤ rn-1; – Se D = 0 rn – D = rn (exclui-se dígito extra). Decimal–Complem. de 10; Binário–Complemento de 2. Ex: Decimal – Base r = 10; n = 3 (3 dígitos); D = 345: rn – D = 103 – 345 = ; 1000 – 345 = 655; O Complemento da Base 10 de 345 é 655! 6. Sistemas Numéricos de Complemento da Base 18 18 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 35 É necessária uma operação de subtração para calcular os Complementos da Base de um número D? Resposta: Não. D = dn-1dn-2...d1d0; 0 ≤ d ≤ r-1; r n = (rn – 1) + 1 (rn – D) = [(rn – 1) – D] + 1 Número (rn – 1) é da forma <mm...mm>, onde m = r – 1 e existem n m’s. Exemplo: r = 10; n = 3. rn = 1000 = 999 + 1 = (rn – 1) + 1. Para D = 345; rn – D = = [(rn – 1) – D] + 1 = [(999) – 345] + 1 = = [654] + 1 = 655. 6. Sistemas Numéricos de Complemento da Base © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 36 Definição: Complemento de um dígito individual di: Complementodi = r – 1 – di [(rn – 1) – D] obtida com esta complementação dígito a dígito e somando-se 1 ao resultado. Exemplo: r = 10; n = 4. rn = 10.000 = 9.999 + 1 = (rn – 1) + 1. Regra: Complemento da Base do número D é obtido complementando-se os dígitos di de D e somando-se 1 ao resultado: [(rn – 1) – D] + 1 = (rn – D) = ComplementoBase 6. Sistemas Numéricos de Complemento da Base 19 19 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 37 6. Sistemas Numéricos de Complemento da Base INT Comp10 2 Díg. Dec. INT Comp10 2 Díg. Dec. INT Comp10 2 Díg. Dec. INT Comp10 2 Díg. Dec. INT Comp10 2 Díg. Dec. +49 49 +29 29 +9 09 –11 89 –31 69 +48 48 +28 28 +8 08 –12 88 –32 68 +47 47 +27 27 +7 07 –13 87 –33 67 +46 46 +26 26 +6 06 –14 86 –34 66 +45 45 +25 25 +5 05 –15 85 –35 65 +44 44 +24 24 +4 04 –16 84 –36 64 +43 43 +23 23 +3 03 –17 83 –37 63 +42 42 +22 22 +2 02 –18 82 –38 62 +41 41 +21 21 +1 01 –19 81 –39 61 +40 40 +20 20 0 00 –20 80 –40 60 +39 39 +19 19 –1 99 –21 79 –41 59 +38 38 +18 18 –2 98 –22 78 –42 58 +37 37 +17 17 –3 97 –23 77 –43 57 +36 36 +16 16 –4 96 –24 76 –44 56 +35 35 +15 15 –5 95 –25 75 –45 55 +34 34 +14 14 –6 94 –26 74 –46 54 +33 33 +13 13 –7 93 –27 73 –47 53 +32 32 +12 12 –8 92 –28 72 –48 52 +31 31 +11 11 –9 91 –29 71 –49 51 +30 30 +10 10 –10 90 –30 70 –50 50 Tab el a 6 .1 . © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 38 6. Sistemas Numéricos de Complemento da Base Tabela 6.2. Complemento Dígito Binário Octal Decimal Hexadecimal 0 1 7 9 F 1 0 6 8 E 2 – 5 7 D 3 – 4 6 C 4 – 3 5 B 5 – 2 4 A 6 – 1 3 9 7 – 0 2 8 8 – – 1 7 9 – – 0 6 A – – – 5 B – – – 4 C – – – 3 D – – – 2 E – – – 1 F – – – 0 20 20 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 39 7.1. Notação Complemento de 2 Números positivos: idem notação sinal-módulo; Para inverter o sinal: inverte-se todos os bits (equivale a complementar de 1 cada um dos bits) e soma-se 1 ao resultado. Exemplo: + 27 = 0 0 0 1 1 0 1 1 1 1 1 0 0 1 0 0 + 1 - 27 = 1 1 1 0 0 1 0 1 x (-1) Bits são complementados Resultado é incrementado 7. Representaç. de Nos. Binários: Complemento de 2 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 40 T a b el a 7 .1 . 7. Representaç. de Nos. Binários: Complemento de 2 Valor Inteiro Complemento10 de 1 Dígito Decimal Complemento2 de 3 Dígitos Binários 4 4 – 3 3 011 2 2 010 1 1 001 0 0 000 –1 9 111 –2 8 110 –3 7 101 -4 6 100 21 21 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 41 Complemento da Base Diminuída ou Complemento da Base Menos Um – O Complemento de um número D de n dígitos D = dn-1dn-2...d1d0 é obtido subtraindo-se D de (rn – 1): (rn – 1) – D Regra Prática: Complementar todos os dígitos di com relação a (r – 1). 8. Sistema Numérico de Complemento da Base Diminuída (Base Menos Um) © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 42 Faixa de representação de Complemento da Base Diminuída (Base Menos Um): Desvantagem do sistema numérico de Complemento da Base Menos Um: – Apresenta duas representações para o Zero. 8. Sistema Numérico de Complemento da Base Diminuída (Base Menos Um) 1 2 nraté1 2 nrDe TETO CHÃO 22 22 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 43 O sistema numérico Binário de Comple- mento da Base Diminuída ou Comple- mento da Base Menos Um, quando apli- cado aos Números Binários, é denomina- do Complemento de 1. Faixa de representação - Complemento de 1: – Complemento de 1: Duas representações para o zero. 9. Representaç. de Nos. Binários: Complemento de 1 1 2 nraté1 2 nrDe TETO CHÃO © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 44 9.1. Notação Complemento de 1 Números positivos: idem notação sinal-módulo; Para inverter o sinal: invertem-se todos os bits (o que equivale a complementar de 1 cada um dos bits). Exemplo: + 27 = 0 0 0 1 1 0 1 1 - 27 = 1 1 1 0 0 1 0 0 + 27 = 0 0 0 1 10 1 1 X (-1) Bits são complementados X (-1) Bits são complementados 9. Representaç. de Nos. Binários: Complemento de 1 23 23 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 45 9. Representaç. de Nos. Binários: Complemento de 1 S-M Cp. 1 Cp. 2 S-M Cp. 1 Cp. 2 0000 0 0 0 1000 0 - 7 - 8 0001 + 1 + 1 + 1 1001 - 1 - 6 - 7 0010 + 2 + 2 + 2 1010 - 2 - 5 - 6 0011 + 3 + 3 + 3 1011 - 3 - 4 - 5 0100 + 4 + 4 + 4 1100 - 4 - 3 - 4 0101 + 5 + 5 + 5 1101 - 5 - 2 - 3 0110 + 6 + 6 + 6 1110 - 6 - 1 - 2 0111 + 7 + 7 + 7 1111 - 7 0 - 1 Tabela 9.1. – Exemplo para 4 bits 9.2. Comparação entre as representações © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 46 A Tabela de Equivalência de Representação Decimal e Representação Binária de Números de 4 Bits revela porque a representação de números em Complemento de 2 é a preferida para operações aritméticas Ver Tabela 10.1. 10. Soma e Subtração em Complemento de 2 24 24 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 47 Partir de (1000)2 = (-8)10 – Contando-se no sentido dos números positivos, cada número sucessivo em Complemento de 2 é obtido somando-se 1 ao anterior. Vale o mesmo para representação em Excesso-2m-1, mas não para Complemento de 1 e Sinal-Magnitude. 10. Soma e Subtração em Complemento de 2 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 48 10. Soma e Subtração em Complemento de 2 Tabela 10.1. Decimal Complemento de 2 Complemento de 1 Sinal-Magnitude Excesso-2m-1 –8 1000 - - 0000 –7 1001 1000 1111 0001 –6 1010 1001 1110 0010 –5 1011 1010 1101 0011 –4 1100 1011 1100 0100 –3 1101 1100 1011 0101 –2 1110 1101 1010 0110 –1 1111 1110 1001 0111 0 0000 1111 ou 0000 1000 ou 0000 1000 +1 0001 0001 0001 1001 +2 0010 0010 0010 1010 +3 0011 0011 0011 1011 +4 0100 0100 0100 1100 +5 0101 0101 0101 1101 +6 0110 0110 0110 1110 +7 0111 0111 0111 1111 25 25 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 49 Exemplos: +3 0011 -2 1110 + +4 + 0100 + -6 + 1010 +7 0111 -8 1 1000 +6 0110 +4 0100 + -3 + 1101 + -7 +1001 +3 1 0011 -3 1101 Como o sistema de representação em Complemento2 usa o método de contagem – Ver contador de 4 bits da Figura 10.1.. 10. Soma e Subtração em Complemento de 2 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 50 10. Soma e Subtração em Complemento de 2 Figura 10.1. 0000 +0 +1 +3 +4 +5 +6 +7–8–7 –6 –1 –2 –5 –3 –4 1000 0001 0010 0011 0100 0111 0110 0101 1001 1010 1011 1100 1111 1110 1101 subtração de números positivos adição de números positivos Complemento2 fazendo uso do método de contagem. 26 26 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 51 Transbordo (ou Estouro ou Overflow) – Ocorre se uma operação produz um resultado que extrapola o espaço de representação definido para o sistema numérico. Na representação de contagem modular (ou representação circular) da Figura 11.1. o transbordo ocorre durante a adição de dois números positivos quando a contagem passa pelo número “+7”. Uma adição de dois números de sinais diferentes nunca produz transbordo. 10. Soma e Subtração em Complemento de 2 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 52 Adição de dois números de sinais iguais pode produzir Transbordo. Exemplos: –3 1101 +5 0101 + –6 + 1010 + +6 + 0110 –9 1 0111 = +7 +11 1011= –5 –8 1000 +7 0111 + –8 + 1000 + +7 +0111 –16 1 0000 = +0 +14 1110 = –2 10. Soma e Subtração em Complemento de 2 27 27 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 53 Duas regras (equivalentes) – Determinar se há Transbordo em uma operação: 1-) Sinais dos operandos são iguais entre si e diferentes do sinal da soma; 2-) Vem-um (cIN) que chega na posição de sinal é do Vai-um (cOUT) que sai da posição do sinal. Dois casos em que cIN cOUT – Dois únicos casos em que x = y e o bit da soma é de x e y [Tabela 10.2.]. 10. Soma e Subtração em Complemento de 2 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 54 10. Soma e Subtração em Complemento de 2 Tabela 10.2. c IN [b IN] x y (s o m a) c OUT d (dif.) b OUT 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 1 0 1 0 1 0 Regra 1: Sinalx = Sinaly Sinal 0 1 1 0 1 0 0 1 0 0 1 0 1 1 Regra 2: Na posição do Sinal c IN c OUT 1 0 1 0 1 0 1 1 1 0 0 1 0 0 1 1 1 1 1 1 1 28 28 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 55 10. Soma e Subtração em Complemento de 2 Tabela 10.3. Transbordo: Adição – Nos. de Sinais Iguais – Complemento de 2 Sinais Iguais Sinais Iguais Decimal Complemento de 2 A e B Negativos Decimal Complemento de 2 A e B Positivos (–8)+( –8) 1000=1000 = U=1 0000 SA = SB S; (K=0) (U=1); T = V 0 0000 –8 1000 Idem: T = V 0 + 0 0000+0000= U=0 0000=0 SA = SB = S; (K=0) = (U=0); T = F –7 1001 Idem: T = V +1 0001 Idem: T = F –6 1010 Idem: T = V +2 0010 Idem: T = F –5 1011 Idem: T = V +3 0011 Idem: T = F (–4)+( –5) 1100+1011 = U=1 0111 SA = SB S; (K=0) (U=1); T = V (+3) + (+4) 0011 + 0100 = U=0 0111 = +7 SA = SB = S; (K=0) = (U=0); T = F (–4)+( –4) 1100+1100 = U=1 1000 SA = SB = S; (K=1)=(U=1); T = F (+4) + (+4) 0100 + 0100 = U=0 1000 SA = SB S; (K=1) (U=0); T = V –4 1100 Idem: T = F +4 0100 Idem: T = V –3 1101 Idem: T = F +5 0101 Idem: T = V –2 1110 Idem: T = F +6 0110 Idem: T = V (–1) + (–1) 1111+1111 = U=1 1110 SA = SB = S; (K=1) = (U=1); T = F +7 0111 Idem: T = V –1 1111 Idem: T = F (+7) + (+7) 0111 + 0111 = U=0 1110 SA = SB S; (K=1) (U=0); T = V © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 56 10. Soma e Subtração em Complemento de 2 Tabela 10.4. Transbordo: Adição – Nos. de Sinais Diferentes – Complemento de 2 Sinais Diferentes Sinais Diferentes Decimal Complemento de 2 A Negativo e B Positivo Decimal Complemento de 2 A Positivo e B Negativo (–8)+(+0)1000 = 0000 = U=0 1000 SA SB; (K=0)(U=0); T = F 0 0000 –8 1000 Idem: T = F (+0)+(–8) 0000 + 1000 = U=0 1000 = –8 SA SB; (K=0)=(U=0); T = F –7 1001 Idem: T = F +1 0001 Idem: T = F –6 1010 Idem: T = F +2 0010 Idem: T = F –5 1011 Idem: T = F +3 0011 Idem: T = F –4 1100 Idem: T = F +4 0100 Idem: T = F –3 1101 Idem: T = F +5 0101 Idem: T = F –2 1110 Idem: T = F +6 0110 Idem: T = F (–1) + (+7)1111 + 0111 = U=1 0110 SA SB; (K=1)=(U=1); T = F +7 0111 Idem: T = F –1 1111 (+7) + (–1) 0111 + 1111 = U=1 1110 = +6 SA SB; (K=1)(U=1); T = F 29 29 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 57 Subtração em Complemento de 2 - Nos. podem ser subtraídos como se fossem números ordinários sem sinal. Maioria dos circuitos implementados para a realização de subtração em Complemento de 2 não realiza a subtração diretamente. Em vez disto o circuito complementa (faz a negação)do Subtraendo somando-lhe 1 (calculando seu complemento de 2), e então este é somado ao Minuendo usando-se as regras normais de adição. 10. Soma e Subtração em Complemento de 2 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 58 Exemplos: cIN = 1 cIN = 1 +4 0100 0100 +3 0011 0011 – +3 – 0011 + 1100 – +4 – 0100 + 1011 +1 1 0001 –1 1111 cIN = 1 cIN = 1 +4 0100 0100 +3 0011 0011 – –3 – 1101 + 0010 – –4 – 1100 + 0011 +7 0111 +7 0111 10. Soma e Subtração em Complemento de 2 30 30 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 59 10. Aritmética em Complemento de 2 - Outros exemplos: + 27 = 0 0 0 1 1 0 1 1 - 27 = 1 1 1 0 0 1 0 1 - 19 = 1 1 1 0 1 1 0 1 + 19 = 0 0 0 1 0 0 1 1 = 0 0 0 0 1 0 0 0 = 1 1 1 1 1 0 0 0 = + 8 = - 8 + 11111111 111 + 10. Soma e Subtração em Complemento de 2 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 60 Transbordo na Subtração em Complemen- to de 2 - Utilizam-se as mesmas regras da adição, adaptando-se os nomes dos sinais: 1-) Sinais dos operandos resultam iguais entre si (depois de sua complementação) e diferentes do sinal da diferençao; 2-) Empresta-um (bIN) a ser subtraído da posição de sinal é do Empresta-um (bOUT) que deve ser somado à posição do sinal. 10. Soma e Subtração em Complemento de 2 31 31 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 61 Aritmética em Complemento de 2 - Vantagens: - Permite a execução de soma em um único passo, sem necessidade de se testar os sinais; - A notação Complemento de 2 possui apenas uma representação para o zero (00..00); - Não recicla o vai-um – Se ocorrer vai-um do sinal este NÃO deve ser adicionado ao resultado (ver Complemento de 1). 10. Soma e Subtração em Complemento de 2 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 62 Exercício 10.8.1. Faça as operações com 6 bits (inclui o bit de sinal) em Complemento de 2. Indique a ocorrência de Transbordo: a) + 19 + (–12) b) – 19 + (–12) b) + 19 + (+12) d) – 19 + (+12) e) + 21 + (–11) f) – 21 + (–11) g) + 21 + (+11) h) – 21 + (+11) Exercício 10.8.2. Idem anterior para a notação Complemento de 10 (base 10) usando 3 dígitos. 10. Soma e Subtração em Complemento de 2 32 32 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 63 11. Aritmética em Complemento de 1 Vantagem: Permite a execução de soma em um único passo, sem necessidade de se testar os sinais. Exemplos: + 27 = 0 0 0 1 1 0 1 1 - 27 = 1 1 1 0 0 1 0 0 - 19 = 1 1 1 0 1 1 0 0 +19 = 0 0 0 1 0 0 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 1 1 1 = - 8 +1 0 0 0 0 1 0 0 0 = + 8 + + 11111 Reciclagem do vai-um 11. Soma e Subtração em Complemento de 1 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 64 11. Aritmética em Complemento de 1 Se ocorrer vai-um do sinal este deve ser adicionado ao resultado; Se os sinais das parcelas forem iguais entre si e diferentes do sinal do resultado obtido, indica ocorrência de Overflow (Transbordo). 11. Soma e Subtração em Complemento de 1 33 33 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 65 11. Aritmética em Complemento de 1 Exemplo – Com 4 dígitos: 1 0 1 0 + (-5) 1 0 1 1 (-4) 0 1 0 1 Inconveniente - A notação complemen- to de 1 também possui duas representa- ções para o número zero (000..00 e 111..11) 11 Resultado inválido (transbordo) Resultado positivo Parcelas negativas 11. Soma e Subtração em Complemento de 1 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 66 Exercício 11.2.1. Faça as operações com 6 bits (inclui o bit de sinal) em Complemento de 1. Indique a ocorrência de Transbordo: a) + 19 + (–12) b) – 19 + (–12) b) + 19 + (+12) d) – 19 + (+12) e) + 21 + (–11) f) – 21 + (–11) g) + 21 + (+11) h) – 21 + (+11) Exercício 11.2.2. Idem anterior para a notação Complemento de 9 (base 10) usando 3 dígitos. 11. Soma e Subtração em Complemento de 1 34 34 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 67 Lição de Casa Leitura Obrigatória: – Capítulo 2 do Livro Texto. Exercícios Obrigatórios: – Capítulo 2 do Livro Texto; – Lista de Exercícios do Módulo 3. © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 68 Bibliografia Deste Módulo [Andrade&Costa&Sichman&Tori-2.004] Andrade, Marco Túlio Carvalho de; Costa, Anna Helena Reali Costa; Sichman, Jaime; Tori, Romero; “Notas de Aula de PCS2214”; PCS/EPUSP, 2.004. [Knuth-1.998] Knuth, Donald E.; “The Art of Computer Programming – Seminumerical Algorithms”; Vol.2, Third Edition, Addison Wesley, 1.998. [Fregni-1.996] Fregni, Edson; Ranzini, Edith. Teoria da Comutação: Introdução aos Circuitos Digitais (Partes 1 e 2). Notas de Aula de PCS214, PCS/EPUSP, Agosto de 1.996. 35 35 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 69 Bibliografia Deste Módulo [Mowle-1.977] Mowle, Frederic J. A Systematic Approach to Digital Logic Design. Addison-Wesley Publishing Company, July 1.977; [Ranzini-1.985] Ranzini, Edith. Notas de Aula de PEL 213. Apostila, EPUSP, 1.985; [Singh-1.997] Singh, Simon; “O Último Teorema de Fermat”; Editora Record, 1.997. [Wakerly-2.000] Wakerly, John F.; “Digital Design – Principles & Practices”; Third Edition, Prentice-Hall, 2.000. © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 70 1 2 nraté 2 nrDe TETO CHÃO Faixa de representação de Complemento da Base: 1 2 nraté1 2 nrDe TETO CHÃO Faixa de representação de Complemento da Base Diminuída (Base Menos Um): Apêndice 36 36 © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária> PCS 2215 – Sistemas Digitais I 71 1 2 nraté 2 nrDe TETO CHÃO Faixa de representação de Sinal e Amplitude: 1 2 nraté1 2 nrDe TETO CHÃO Faixa de representação de Complemento da Base Diminuída (Base Menos Um): Apêndice - Sumarização Faixa de representação de Complemento da Base: 1111 nraténrDe © Andrade, Corrêa, Gomi e Margi 2.013 <Aritmética Binária>PCS 2215 – Sistemas Digitais I 72 Obtenção do complemento em Sinal e Ampli- tude: Obtenção do complemento em Complemen- to da Base Diminuída (Base Menos Um): Apêndice - Sumarização Obtenção do complemento em Complemen- to da Base: Complementa-se o Dígito do Sinal (rn – D) = [(rn – 1) – D] + 1 [(rn – 1) – D]
Compartilhar