Aritmética Digital

Adição e subtração binárias

Revisão da adição de números decimais:

A operação é realizada da direita para a esquerda, começando do dígito menos significativo (LSD, do inglês least-significant-digit). Quando os dígitos da segunda coluna são somados o resultado é , o que gera o "vai um" (ou carry) com valor , que vai para a próxima coluna e, por fim, gera a soma .

Na adição binária, ocorrem os mesmos passos, entretanto, podem ocorrer apenas quatro casos:

Nos dois últimos casos há a presença do carry de 1 para a próxima posição.

Alguns exemplos de aplicação da adição:

Na subtração binária a situação é semelhante e também há quatro situações possíveis para lidar quando subtrair um bit de outro:

No último caso ocorre o "tomar emprestado" (borrow) da próxima coluna. Como o número à esquerda é menor do que o número à direita, o resultado é negativo. Por enquanto a representação do número negativo segue a mesma forma intuitiva em base 10: usando o sinal "-".

Um exemplo mais complicado: . Para encontrar a solução, vamos por partes, da direita para a esquerda:

  1. como não podemos calcular diretamente, precisamos pedir emprestado da casa anterior, à esquerda. Assim, as casas do primeiro número teriam:
  2. fazemos a subtração dos números mais à direita:
  3. fazemos a subtração dos números da próxima casa à esquerda:
  4. fazemos a subtração dos números da próxima casa à esquerda:
  5. o resultado é o número ou

O processo de tomar emprestado repete-se sempre que necessário.

Outro exemplo: . Novamente, vamos por partes, pelas casas à partir da direita:

  1. como o número da casa à esquerda é não podemos tomar emprestado. Então, pedimos emprestado para a outra casa. Essa, por sua vez, também é , o que mantém o impedimento. Continuamos para outra casa à esquerda até ser possível tomar emprestado e encontramos o na quarta casa. Então, reescrevemos as casas do número, em ordem: . Ainda não podemos usar esse número, porque a casa mais à direita ainda tem o valor . Continuamos pedindo emprestado ( é subtraído da quarta casa e acrescentado na terceira), resultando em: . E mais uma vez ( é subtrído da : . Assim temos. Aí conseguimos subtrair a casa mais à direita:
  2. fazemos a subtração do número à esquerda:
  3. fazemos a subtração do número à esquerda:
  4. como não há mais nada para subtrair, baixamos as duas casas restantes:
  5. o resultado é o número:

Para checar se o resultado está correto, basta somar o resultado com o segundo número, ou seja:

Alguns exemplos de aplicações da subtração:

Exercícios

Efetue as operações:

a) 10110 + 00111

b) 011,101 + 010,010

c) 10001111 + 00000001

d) 101101 - 010010

e) 10001011 - 00110101

f) 10101,1101 - 01110,0110

Representação de números com sinal

Computadores e calculadoras digitais geralmente operam com números negativos e positivos. Assim, é necessário utilizar o sinal do número ( ou ). Para isso, acrescenta-se ao número outro bit, chamado bit de sinal. A convenção é que o valor represente o sinal e o valor represente o sinal , o que é ilustrado pela figura a seguir.

Na figura, o primeiro número é 0110100 (+52). O bit mais à esquerda (bit mais significativo) tem valor 0, sendo usado para reprentar o sinal positivo. O segundo número é 1110100 (-52), tendo o bit mais significativo com valor 1 (negativo). A magnitude do número é a sua representação sem sinal. Assim, ambos os números possuem a mesma magnitude (52). Essa representação é chamada sistema sinal-magnitude para números binários com sinal.

A representação do sistema sinal-magnitude não é utilizada na prática. O sistema complemento de 2 é o mais utilizado.

Forma do complemento de 2

O complemento de 2 de um número binário é obtido em dois passos:

  1. Substituir cada 0 por 1 e cada 1 por 0, ou seja, inverter o número (também chamado complemento de 1)
  2. Adicionar o número 1 na posição do bit menos significativo (mais à direita).

Exemplo:

Qual o complemento de 2 do número 101100?

Representando números com sinal usando complemento de 2

A representação de números com sinal usando complemento de dois funciona da seguinte forma:

  • Se o número for positivo:

    • a magnitude é representada na forma binária direta
    • um bit de sinal 0 é colocado em frente ao bit mais significativo
  • Se o número for negativo:

    • a magnitude é representada na forma do complemento de 2
    • um bit de sinal 1 é colocado em frente ao bit mais significativo

    A figura a seguir ilustra esse processo.

Resolvendo subtrações com complemento de 2

Para utilizar o complemento de 2 para resolver subtrações vamos utilizar, como exemplo, a expressão:. A primeira observação é que o número de algarismos dos dois números é diferente, então acrescentamos à esquerda, resultando em .

Na sequência, aplicamos o complemento de 2 no segundo número :

  1. complemento de 1:
  2. complemento de 2:

Ainda, trocamos a subtração por uma adição: .

Para concluir, retiramos o primeiro dígito mais à esquerda, resultando em:

Assim,

Dica de ouro para subtração

A maioria dos exemplos anteriores envolveu subtrair um número menor de um maior. Quando for necessário subtrair um número maior de um menor, ou seja, o número da esquerda é menor do que o da direita, a dica é: inverta a ordem dos operandos, realize a subtração e, por fim, adicione o sinal "-" de subtração. Para exemplificar, considere:

  1. Inverta a ordem:
  2. Calcule a subtração:
  3. Adicione o sinal "-", resultando em:

Em outras palavras, a equação é representada na forma . Lembre-se que a subtração não é comutativa.

Como fica a representação de em complemento de 2 considerando um byte (oito bits)?

Outras operações e representações:

  • extensão de sinal
  • negação
  • adição e subtração na forma de complemento de 2
  • multiplicação
  • divisão
  • código BCD

results matching ""

    No results matching ""