Efetuando Subtração Binária com Complemento de 1 – Eletrônica Digital

Subtração Binária com Complemento de 1

Na lição anterior aprendemos a calcular o resultado de uma subtração binária usando bits de borrow. Agora, vamos mostrar uma outra técnica para realização de subtração entre números binários, denominada Subtração com Complemento de 1, que é uma técnica utilizada pelos computadores para realizar esse tipo de cálculo. Para humanos, a subtração usando o método do borrow é mais simples, mas certamente é de valia conhecer outros métodos também, especialmente para quem trabalha com projetos de lógica digital ou programação de computadores.

O complemento de 1 de um bit é o seu inverso (o de 1 é 0 e o de 0 é 1). Podemos usar esse complemento de 1  para efetuar uma subtração binária, de acordo com o procedimento  a seguir:

  1. Iguale o número de casas binárias dos números envolvidos no cálculo, acrescentando zeros à esquerda se necessário. Obtenha o complemento de 1 do subtraendo (número que será subtraído do minuendo; “número de baixo”)
  2. Some o complemento de 1 obtido no passo a) ao minuendo (número “de cima” no cálculo)
  3. Se o número estourar (ultrapassar o número de casas binárias dos valores envolvidos na subtração), a resposta será um valor positivo. Somamos então o estouro ao LSB (bit menos significativo) do resultado do passo b). Chamamos essa operação de EAC (End-Around-Carry / vai-um final ao redor). Caso não haja estouro, simplesmente aplique o complemento de 1 neste resultado, e o valor obtido será um número negativo.

Vejamos um exemplo de subtração binária usando esta técnica:

Exemplo 01: Efetue o cálculo de 110012 – 100012, usando o complemento de um.

Resolução:

Eletrônica Digital - Subtração Binária com Complemento de 1 - 01

Resultado: 110012 – 100012 = 10002

Exemplo 02: Calcule 10112 – 1012:

Resolução:

Igualamos o número de casas binárias dos números acrescentando um zero ao 1012:

Subtração binária com complemento de 1 - exemplo 02

Resultado: 10112 – 1012 = 1102

Exemplo 03: Efetuar 1012 – 110002 usando o complemento de um.

Resolução: Note que neste exemplo o segundo número (subtraendo) é menor do que o primeiro (minuendo) na subtração, de forma que o resultado deve ser um valor negativo.

realizando subtração binária - exemplo 03

Neste caso obtivemos um número negativo. O valor real do número será dado pelo complemento de 1 do resultado anterior, incluindo o bit de estouro:

Complemento de 1: subtração de números binários - lógica digital

Resultado: 1012 – 110002 = -100112 (-1910)

É isso aí! Na próxima parte de nossa lição sobre subtração de números binários, vamos apresentar a subtração usando a técnica do complemento de 2.

Sobre Fábio dos Reis (1325 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 25 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Unix, Linux e Open Source em geral, adora Eletrônica e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

1 Trackbacks & Pingbacks

  1. Efetuando Subtração Binária - Bóson Treinamentos em Tecnologia

Escreva um comentário

Seu e-mail não será divulgado


*