Aritmética Digital • • • Adição Binária Representação de números com sinal Adição e subtração em complemento de 2 Aritmética Digital • Adição Binária A adição binária é feita da mesma forma que a adição de números decimais: Aritmética Digital • Adição Binária Adicione: 10110 + 00111 011,101 + 010,010 10001111 + 00000001 Aritmética Digital • Representação de números com Sinal Como os números manipulados podem ser positivos ou negativos se faz necessário uma representação de sinal (+ ou -). Isto é feito através da adição de um bit, chamado de bit de sinal. Por convenção: bit=0 -> número positivo bit=1 -> número negativo Aritmética Digital Representação de números com Sinal (Sistema Sinal-Magnitude) • Exemplos: 0 1 1 0 1 0 0 = +52(10) 1 1 1 0 1 0 0 = -52(10) Aritmética Digital • • Forma Complemento de 1 Forma Complemento de 2 O formato Sinal-Magnitude implementa um circuito digital complexo. Outras implementações o fazem de uma forma mais simples. A mais empregada é a Forma Complemento de 2. Aritmética Digital • Forma Complemento de 1 A forma complemento de 1 é obtida invertendo-se (complementando-se) cada bit do número. Ex.: 1 0 0 1 1 0 1 número original 0 1 1 0 0 1 0 complemento de 1 Aritmética Digital • Forma Complemento de 2 A forma complemento de 2 é obtida adicionando-se 1 ao bit menos significativo. Ex.: 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 0 1 1 número original complemento de 1 adição de 1 ao LSB complemento de 2 Aritmética Digital • Ex.: Forma Complemento de 2 1 0 1 1 0 0 0 1 0 0 1 1 1 0 1 0 1 0 0 número original complemento de 1 adição de 1 ao LSB complemento de 2 Aritmética Digital • Representação de números com sinal utilizando a Forma Complemento de 2 1- Se o número for positivo,a magnitude é representada em sua forma binária original,e um bit 0 é colocado à frente do número. Ex.: 01011101 = +45(10) Aritmética Digital • Representação de números com sinal utilizando a Forma Complemento de 2 2- Se o número for negativo,a magnitude é representada na forma Complemento de 2,e um bit 1 é colocado à frente do número. Ex.: 1010011 = -45(10) Aritmética Digital • Representação de números com sinal utilizando a Forma Complemento de 2 O Complemento de 2 é utilizado para representar números com sinal por que permite realizar a operação de subtração como se fosse uma adição. Isto é, o mesmo circuito digital que realiza a adição, também faz a subtração (economia de hardware). Aritmética Digital • Representação de números com sinal utilizando a Forma Complemento de 2 Represente os seguintes número decimais com sinal como números binários em complemeto de 2 com sinal (5 bits): +13 -9 +3 -2 -8 Aritmética Digital +13 -9 Como o número é positivo, 01101 Como o número é negativo, 01001 10110(Compl. 1) 1(Compl. 2) 10111 Aritmética Digital +3 Como o número é positivo, -2 Como o número é negativo, 00011 00010 11101 1 11110 Aritmética Digital •Negação É a operação de converter um número positivo em negativo,e vice-versa. Nega-se números binários com sinal aplicando-lhes o Complemento de 2. Ex.: 01001 (+9) (Compl.2) 10111 (-9) (Compl.2) 01001 (+9) Aritmética Digital •Negação Cada um dos números binários abaixo está em Complemento de 2. Determine qual o decimal de cada um: a) 01100 b) 11010 c) 10001 Aritmética Digital a) 01100 Como o bit de sinal é 0, o número é positivo, e os outros 4 bits representam a sua magnitude. Isto é: 1100(2) = 12(10). Logo o decimal é +12. Aritmética Digital b) 11010 Como o bit de sinal é 1, o número é negativo, e os não temos como afirmar a sua magnitude. Encontra-se a magnitude aplicando o Complemento de 2: Isto é: 11010 00101 1 00110 original complemento de 1 adição de 1 (Compl. de 2) resultado = +6 Logo 11010 equivale ao decimal -6. Aritmética Digital c) 10001 Como o bit de sinal é 1, o número é negativo, e os não temos como afirmar a sua magnitude. Encontra-se a magnitude aplicando o Complemento de 2: Isto é: 10001 01110 1 01111 original complemento de 1 adição de 1 (Compl. de 2) resultado = +15 Logo 11010 equivale ao decimal -15. Aritmética Digital Casos especiais em representação em Complemento de 2 Quando um número com sinal tiver um 1 como bit de sinal e todos os outros bits de magnitude forem 0, o decimal equivalente é -2N, onde N é o número de bits da magnitude. Exemplos: 1000 = -23 = -8 10000 = -24 = -16 100000 = -25 = -32 Aritmética Digital Casos especiais em representação em Complemento de 2 Logo, a faixa de valores que pode ser representada em Complemento de 2 tendo-se N bits de magnitude é: -2N a +(2N-1) Existe um total de 2N+1 valores diferentes, incluindo o 0. Aritmética Digital Exemplo: 4 bits (1 de sinal e 3 de magnitude) -2N = -23 = -8(10) = 1000(2) até +(2N-1)= + 23-1 = +7(10) = 0111(2) sempre adicionando 0001 a cada passo como um contador progressivo. Aritmética Digital +7 = 23-1 +6 +5 +4 +3 +2 +1 0 -1 -2 -3 -4 -5 -6 -7 -8 0111 0110 0101 0100 0011 0010 0001 0000 1111 1110 1101 1100 1011 1010 1001 1000 Aritmética Digital Exemplo: Qual a faixa de valores que pode ser representada em um byte (8 bits)? Como o bit mais significativo é de sinal, restam 7 bits para a magnitude. O maior valor é: 10000000(2) = -27 = -128(10) O maior valor positivo é: 01111111(2) = +27-1 = 127(10) Logo a faixa de valores é: -128 a +127 Aritmética Digital •Adição em Complemento de 2 •Caso I : Dois números positivos •Caso II : Número positivo e um negativo menor Número positivo e um negativo maior Dois números negativos •Caso III: •Caso IV : •Caso V : Números iguais com sinais opostos Aritmética Digital •Adição em Complemento de 2 •Caso I : Dois números positivos Neste caso a adição é feita normalmente. Bit de sinal +9 +4 -> -> 0 0 0 1001 0100 1101 (+13) Aritmética Digital •Adição em Complemento de 2 •Caso II: Número positivo e um negativo menor Bit de sinal +9 -4 -> -> Este carry é desconsiderado 0 1 1 0 1001 1100 0101 Não esquecer que -4 está em complemento de 2 (+5) Aritmética Digital •Adição em Complemento de 2 •Caso III: Número positivo e um negativo maior Bit de sinal -9 +4 -> -> 1 0 1 0111 0100 1011 (-5) Não esquecer que -9 está em complemento de 2 Aritmética Digital •Adição em Complemento de 2 •Caso IV: -9 -4 -> -> Este carry é desconsiderado Dois números negativos 10111 11100 1 10011 (-13) Aritmética Digital •Adição em Complemento de 2 •Caso V: Dois números iguais com sinais opostos -9 +9 -> -> Este carry é desconsiderado 10111 01001 1 00000 (0)