ELETRÔNICA DIGITAL I Parte 2 Aritmética Digital Professor Dr. Michael Klug 1
Sistema Decimal: Sistema Binário: Adição Binária carry 1 472 246 718 A B S C 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 S=AB C=carry 2
Exemplos: 011 (3) 1001 (9) 11,011 (3,375) 110 (6) 1111 (15) 10,110 (2,750) Adição Binária 1001 (9) 11000 (24) 110,001 (6,125) Exercício: Efetue a soma dos seguintes números binários: a) 101111101 001101011 = b) 1101,0100 101,1101 = c) 1111110001110011110101 1010101010111 = 3
Representação Sinal/Módulo Números com sinal ( ou ) Adição de bit de sinal Exemplo: Convenção: 0 p/>0 (positivos) 1 p/<0 (negativos) bit sinal 01101110 = 110 10 11101110 = 110 10 Magnitude Obs: Implementação de circuitos digitais torna se complexa! 4
Complemento de 1 Passo para a obtenção da forma em complemento de 2: Substituir: Exemplos: 0 1 1 0 101101 110111111011 010010 001000000100 Complemento de 1 Complemento de 1 5
Complemento de 2 Método: complemento de 1 1 (LSB) 11001100 10101011 1 1 00110011 01010100 1 1 00110100 01010101 Complemento de 1 Complemento de 2 Exercício: Obtenha o complemento de 2 dos seguintes números decimais: a) 12345 10 = b) 999 10 = c) 6285 10 = 6
Números >0: Magnitude na forma binária direta bit de sinal 0 (a esquerda do MSB) Exemplos: 0101101 = 45 10 bit de sinal Números <0: Magnitude em complemento de 2 bit de sinal 1 (a esquerda do MSB) Exemplos: 45 10 = 101101 2 Complemento de 2 c/ sinal magnitude 010010 1010011 = 45 10 1 bit de sinal - 010011 7
Complemento de 2 c/ sinal Exercícios: represente em complemento de 2 os seguintes decimais: a) 18 10 = b) 78 10 = c) 27 10 = Extensão de Sinal: Sistemas digitais, em geral, armazenam números em registradores medidos em múltiplos de quatro bits (4,8,12,16,32,64) Positivos: acrescentar 0 s Negativos: acrescentar 1 s 9 10 (em 8 bits) = 0000 1001-9 10 (em 8 bits) = 1111 0111
Complemento de 2 c/ sinal Negação: altera o número para seu equivalente de sinal oposto (incluindo bit de sinal) 00001001 = 9 10 11110111 = 9 10 (complemento de 2) 00001001 = 9 10 Caso especial: bit de sinal 1 bits de magnitude 0 s Equivalente decimal = 2 N 1000 = 2 3 = 8 10 10000 = 2 4 = 16 10 100000 = 2 5 = 32 10 Qual a faixa de valores que pode ser representada no sistema de complemento de 2 com N bits de magnitude?
Complemento de 2 c/ sinal Exemplo: tipos de variáveis p/ 4 bits Binario (comp. Decimal de 2) 7=2 3 1 111 6 110 5 101 4 100 3 11 2 10 1 1 0 0 1 1111 2 1110 3 1101 4 1100 5 1011 6 1010 7 1001 8= 2 3 1000
Adição em complemento de 2 Forma na qual é realizada em máquinas digitais Bit de sinal: realizada a mesma operação CASO I : Dois números positivos 9 10 0 1001 4 10 0 0100 0 1101 (soma=13 10 ) CASO II: Número positivo e outro menor negativo 9 10 0 1001 4 10 1 1100 carry é desconsiderado!!! 1 0 0101 (soma=5 10 )
Adição em complemento de 2 CASO III : Número positivo e outro maior negativo 9 10 1 0111 4 10 0 0100 1 1011 (soma= 5 10 ) CASO IV: Dois números negativos 9 10 1 0111 4 10 1 1100 carry é desconsiderado!!! 1 1 0011 (soma= 13 10 ) Caso V: Números iguais e de sinais opostos carry é desconsiderado!!! 9 10 1 0111 9 10 0 1001 1 0 0000 (soma=0 10 )
Observações Operações Aritméticas em comp. de 2: números com a mesma quantidade de bits em suas representações Subtração: procedimento idêntico ao de adição Operação de negação do subtraendo Adicione ao minuendo Overflow Aritmético: Overflow (transbordamento) na posição do bit de sinal Apenas: adição de dois números positivos ou dois números negativos 9 10 0 1001 8 10 0 1000 17 10 1 0001 Sinal incorreto! OBS: Computadores: circuito especial para detectar qualquer condição de overflow!
Círculo de Números Anel externo: números não sinalizados Anel interno: números sinalizados em complemento de 2
Multiplicação de Números Binários Procedimento idêntico a multiplicação de números decimais: Exemplo: P/ Binários não sinalizados 15 10 1001 (9 10 ) x x 14 10 1011 (11 10) 60 1001 15 1001 210 10 0000 1001 1100011 (99 10 )
Multiplicação de Números Binários No sistema de complemento de 2 Utilizar formato binário direto: Dois números positivos: já estão no formato adequado, bastando efetuar a multiplicação Dois números negativos: efetuar a negação de ambos, e então proceder com a multiplicação Um número positivo e outro negativo: efetuar a negação do número negativo, proceder com a multiplicação, e aplicar o complemento de 2 ao resultado. Exemplo: 9 10 x 8 10 = 72 10 01001 9 10 = 01001 x 01000 8 10 =11000 01000 (8 10 ) 001001000 neg neg 110111000 ( 72 10 )
Exemplos: Divisão de Números Binários 1001 11 111110 10-11 11 10 11111 11 011 - - 11 10 0 011-10 011-10 010-10 0 - OBS: mesmas regras do sistema decimal!!!
Para n bits: Números em Ponto Flutuante Total de combinações = 2 n Faixa (números sinalizados em C2) = -(2 n-1 ) a (2 n-1-1) Para 4 bits: -8 a 7 Para 8 bits: -128 a 127 Para 16 bits: -32768 a 32767 Ponto Flutuante: Baseado em notação científica Capacidade de representar números muito grandes e muito pequenos sem o aumento do número de bits Representa números que tem parte inteira e parte fracionária Consiste em duas partes mais um sinal Mantissa (fracionária): magnitude Expoente: número de casas decimais que a vírgula é movida
Padrão 754 1985 ANSI/IEEE Ponto Flutuante Precisão simples: 4 bytes (32 bits) Precisão dupla: 8 bytes (64 bits) Precisão estendida: 10 bytes (80 bits) Precisão Simples: Expoente polarizado: obtido acrescentando 127 ao expoente real EX 1: 5777 10 =1011010010001 2 = 1,011010010001 x 2 12 (12 casas) Expoente: 12127=139 10 = 10001011 2 Mantissa: 01101001000100000000000
Ponto Flutuante Número EX 2: Expoente Polarizado: 10010001 2 = 145 10 Então 11001000110001110001000000000000 (ponto flutuante) equivale ao decimal 407680!!!
REFERÊNCIAS Tocci e Widmer.Sistemas Digitais. Princípios e Aplicações; Floyd. Sistemas Digitais. Fundamentos e Aplicações; Idoeta e Capuano. Elementos de Eletrônica Digital Mairton. Eletrônica Digital. Teoria e Laboratório www.alldatasheet.com 21