Aritmética Binária

Aritmética Binária

Sistemas Digitais I Profa. MS.c. Josiane Rodrigues 1

CAPÍTULO 3 Aritmética Binária

3.1 – Introdução

No Capítulo 2 estudamos a conversão entre os sistemas decimal, binário, octal e hexadecimal. Nesta Unidade estudaremos as operações aritméticas de soma, subtração, multiplicação e divisão de binários, além de conceitos como complemento a 1 e a 2 e a sinalização dos números binários. Essas funções lógicas aritméticas constituem a Unidade Lógica e Aritmética (ULA) que é um bloco funcional fundamental em um microprocessador.

3.2 – Adição no Sistema Binário

Para efetuarmos a adição no sistema binário, devemos agir como numa adição convencional no sistema decimal, lembrando que, no sistema binário temos apenas dois algarismos. Temos então:

0 + 0 = 0, vai 0 1 + 0 = 1, vai 0 0 + 1 = 1, vai 0 1 + 1 = 0, vai 1

Convém observar que no sistema decimal 1 + 1 = 2 e no sistema binário é representado o número 210 por 102.

Assim sendo: 1 + 1 = 102. Já temos aqui a primeira regra de transporte para a próxima coluna:

1 + 1 = 0 e transporta 1 (vai um)

Exemplo 1 Para exemplificar, vamos somar os números binários:

Sistemas Digitais I Profa. MS.c. Josiane Rodrigues 2

Exemplo 2 Some os seguintes binários: 1102 e 1112

Exercícios Propostos

3.3 – Subtração no Sistema Binário

A subtração requer um pouco de atenção. Quando subtraímos números às vezes temos que fazer um empréstimo da próxima coluna à esquerda. Esse caso ocorre quando temos que subtrair 1 de 0. Observe as operações:

0 – 0 = 0, empresta 0 1 – 1 = 0, empresta 0 1 – 0 = 1, empresta 0 0 – 1 = 1, empresta 1 Exemplo 3

Subtraia os seguintes binários: 1112 e 1002

Sistemas Digitais I Profa. MS.c. Josiane Rodrigues 3

0 –1 = 1 e empresta 1

empresta 1emprestado

0 – 1 = 1 - 1 = 0

empresta 1emprestado

0 – 1 = 1 – 1 = 0

1 –1 = 0 emprestado

Exemplo 4

Subtraia os binários 1000 e 1. Resolvendo por partes:

3.4 – Multiplicação no Sistema Binário

As regras da multiplicação de binários são iguais às regras da multiplicação de decimais. 0 x 0 = 0 0 x 1 = 0 1 x 0 = 0 1 x 1 = 1

Sistemas Digitais I Profa. MS.c. Josiane Rodrigues 4

Exemplo 5 Multiplique os binários 1 e 1.

Exemplo 6 Multiplique os binários 101 e 1.

Exercícios Propostos

3.5 – Divisão no Sistema Binário

A divisão é análoga à uma divisão de decimais, trabalhando com multiplicação e subtração. Exemplo 7

Divida o binário 10 por 10.

Produtos Parciais Produtos Parciais

Sistemas Digitais I Profa. MS.c. Josiane Rodrigues 5

Exemplo 8 Divida os binários 10 e 1.

Exercícios Propostos

3.6 – Representação de Números Binários com Sinal

Antes de iniciarmos o assunto, vamos relembrar alguns tópicos importantes da subtração de dois números binários:

Por ser diferente da adição, a subtração exigiria, em princípio, um circuito diferente, específico, para ser realizada. Mas se houver um jeito de representarmos números negativos em binário, a subtração seria transformada em uma simples adição, pois: A – B = A + (-B)

Portanto, o problema deixa de ser o projeto de um circuito subtrator e passa a ser a representação de números negativos em binário.

Os computadores primitivos usavam o chamado “sistema de sinal-magnitude” para representar números binários com sinal. Nesta convenção o MSB era o bit do sinal e o resto da palavra era sempre o próprio valor absoluto do número; se o MSB=0, o número era positivo, e se o MSB=1, o número era negativo. Por exemplo:

Bit de sinal Bits de magnitude

Sistemas Digitais I Profa. MS.c. Josiane Rodrigues 6

Primeiro bit 1 Sentido da leitura

Embora a representação do sistema sinal-magnitude seja direto, calculadoras e computadores não o utilizam normalmente porque a implementação em circuito é mais complexa do que em outros sistemas. O sistema mais amplamente usado para representação de números binários com sinal é o sistema de complemento a 2. Existem duas formas de se encontrar o complemento a 2 de um número binário: encontrando, primeiramente, o complemento a 1 e depois o complemento a 2 ou de forma direta encontrar logo o complemento a 2.

3.6.1 – Complemento a 1

O complemento a 1 de um número binário se faz simplesmente trocando os bits zeros por uns e os bits uns por zeros, veja o exemplo:

3.6.2 – Complemento a 2

O complemento a 2 de um número binário é formado tomando-se o complemento a 1 do número e adicionando-se 1 na posição do bit menos significativo. Veja o exemplo:

Logo, diz-se que 010101 é a representação em complemento a 2 de 101011. 3.6.3 – Complemento a 2 de forma direta

Existe uma técnica muito simples que permite encontrarmos o complemento a 2 de um número binário sem a necessidade de se fazer os dois passos vistos anteriormente (complemento a 1 e soma com bit 1), a saber: efetuamos a leitura do da palavra binária qualquer da direita para a esquerda até encontrarmos o primeiro bit “1” e a seguir invertemos o valor lógico de todos os bits à esquerda do primeiro “1”. Vejamos um exemplo: 10110

Complemento a 2: 01010

Número binário original Complemento a 1 do binário original

Equivalente binário do número 43.

Complemento a 1 de 43. Soma-se 1 para formar o complemento a 2. Complemento a 2 do binário 43.

Sistemas Digitais I Profa. MS.c. Josiane Rodrigues 7

Complemento a 2

3.6.4 – Representação de Números com Sinal Usando Complemento a 2

O sistema de complemento a 2 para representar números com sinal funciona do seguinte modo:

• Se o número é positivo, a magnitude é a forma binária direta e um bit de sinal 0 é colocado na frente do bit mais significativo, veja Figura 9.7.a;

• Se o número é negativo, a magnitude é representada na forma de seu complemento a 2, e um bit de sinal 1 é colocado na frente do bit mais significativo, veja Figura 9.7.b.

O sistema de complemento a 2 é usado para representar números com sinal porque, conforme veremos, ele permite realizar a operação de subtração efetuando na verdade uma adição. Isto é importante, pois significa que um computador digital pode usar os mesmos circuitos tanto para somar como para subtrair, deste modo economizando em hardware.

3.7 – Exemplos de Adição e Subtração no Sistema de Complemento a 2

Caso I: Dois Números Positivos – A adição de dois números positivos é bastante direta e segue as regras de adição já vistas anteriormente. Considere a soma entre +10 e +5:

• Os bits de sinal são iguais a zero, indicando que as parcelas e o resultado são positivos;

• As parcelas são escritas de modo a terem o mesmo número de bits, isto sempre deve ser feito no sistema de complemento a 2.

= + 4510

Bit de sinal (+) Binário direto

= - 4510

Bit de sinal (-)

Bits de sinal

(1a parcela) (2a parcela) (soma = +15)

Figura 9.7 – Representação de números binários com sinal no complemento a 2.

Sistemas Digitais I Profa. MS.c. Josiane Rodrigues 8

Caso I: Um Número Positivo e um Outro Menor e Negativo – Vamos considerar a operação entre +10 e –5.

Primeiramente, devemos encontrar o complemento a 2 de +510 = 01012. Usando qualquer um dos métodos vistos anteriormente, encontramos que –510 = 10112.

• O bit de sinal da segunda parcela é igual a 1, indicando ser um número negativo;

• O resultado do bit de sinal é 0, indicando que o mesmo é positivo. O carry (“vai um”) gerado na última posição da adição é sempre descartado. Observe que a operação de adição é feita, também, sobre os bits de sinal.

Caso I: Um Número Positivo e um Outro Maior e Negativo – Considera a operação entre –10 e +5. Novamente, primeiro devemos encontrar o complemento a 2 do número negativo, isto é, -1010 = 01102.

• Como era de se esperar, o bit de sinal do resultado é igual a 1, indicando resultado negativo;

• Como o resultado é negativo, ele está representado em complemento a 2, de modo que os últimos 4 bits (bits de magnitude), 1011, de fato representam o complemento a 2 do resultado. Para encontrar a magnitude verdadeira, basta encontrar o complemento a 2 de 1011, que é 0101 = +5. Logo, 11011 representa – 5.

Caso IV: Dois Números Negativos – Considere a operação entre –10 e –5. A operação de soma se dará entre os complementos a 2 de ambos os números:

(1a parcela) (2a parcela) (soma = +5)

Bits de sinal

Este carry é desconsiderado.

Bits de sinal

(1a parcela) (2a parcela) (soma = -5)

Bits de sinal

(1a parcela) (2a parcela) (soma = -15)

Este carry é desconsiderado.

Sistemas Digitais I Profa. MS.c. Josiane Rodrigues 9 Magnitude incorreta

• Como o resultado é negativo, a sua magnitude está na forma de complemento a 2.

Portanto, devemos encontrar o complemento a 2 do resultado para encontrar a magnitude verdadeira. Logo, 1 representa –15.

Caso V: Dois Números Iguais em Magnitude Mas de Sinais Contrários – Considere a operação entre +10 e –10.

• O resultado é, como esperado, +0.

3.8 – Overflow Aritmético Considere a soma entre +10 e +7:

A resposta tem um bit de sinal negativo, o que obviamente está errado visto que estamos somando números positivos. O erro é causado porque a magnitude (17) precisa de 5 e não 4 bits como as parcelas tinham e, portanto, ocorreu um overflow na posição do bit de sinal. Esta condição somente ocorre quando somamos dois números positivos ou dois números negativos, e ela sempre produz um resultado incorreto. A ocorrência de overflow pode ser detectada examinando-se o bit de sinal do resultado e comparando-o com os bits de sinal dos números que estão sendo adicionados. Nos computadores, um circuito especial é usado para detectar qualquer condição de overflow para indicar que a resposta está errada.

3.9 – Bibliografia 1 – Sistemas Digitais – Princípios e Aplicações –Tocci e Widmer – LTC Editora, 7a edição; 2 – Elementos de Eletrônica Digital – Capuano e Idoeta – Editora Érica – 19a Edição; 3 – Sistemas Digitais – Fundamentos e Aplicações – Thomas L. Floyd - Ed. Bookman – 9a Edição; 4 – Capítulo I – Circuitos Digitais Combinacionais – Prof. F.C.C de Castro, PUCRS.

Bits de sinal

(1a parcela) (2a parcela) (soma = +0)

Este carry é desconsiderado.

Sinal incorreto

Comentários