Efetue as subtrações, utilizando o complemento de 2 :
1011011_{2}-11011_{2}

Passo 1

O enunciado pede realizar a subtração entre dois números binários usando complemento de 2. As informações dadas são:
  • Minuendo: \,1011011_2.
  • Subtrahendo: \,11011_2.
    A tarefa é calcular \,1011011_2 - 11011_2 aplicando o método do complemento de 2 e fornecer o resultado em binário.

Passo 2

Primeira coisa prática: para usar complemento de 2 alinhamos os dois números com o mesmo número de bits (preenchendo com zeros à esquerda se necessário). O minuendo tem 7 bits: \,1011011_2. O subtrahendo tem 5 bits; escrevendo com 7 bits fica:
\text{subtrahendo (7 bits)} = 0011011_2.
Verificação decimal rápida (só para conferir depois): \,1011011_2 = 91_{10} e \,0011011_2 = 27_{10}. Logo o resultado esperado em decimal é \,91-27=64_{10}, que em binário é \,1000000_2. Vamos obter isso pelo procedimento pedido.

Passo 3

Lembrando a definição do complemento de 2 e porque funciona:
  • O complemento de 2 de um número binário é obtido invertendo todos os bits (isso é o complemento de 1, ou “one’s complement”) e somando \,1.
  • Em uma aritmética de largura fixa n de bits, subtrair \,B de \,A é equivalente a somar \,A com o complemento de 2 de \,B. Se a soma produzir um “carry” fora do n-ésimo bit, esse carry é descartado e o resultado (nos n bits) é o resultado positivo da subtração. Se não houver carry, o resultado em dois complementos é negativo.

Passo 4

Calcular o complemento de 2 do subtrahendo (na forma de 7 bits que já colocamos):
\text{subtrahendo (7 bits)} = 0011011_2.
  1. Inverter todos os bits (complemento de 1):
\text{inverso} = 1100100_2.
  1. Somar \,1 para obter o complemento de 2:
1100100_2 + 1_2 = 1100101_2.
Portanto o complemento de 2 de \,0011011_2 (com 7 bits) é \,1100101_2.

Passo 5

Agora somamos o minuendo com esse complemento de 2 (tudo em 7 bits):
\begin{array}{r} \;1011011_2\\\\ +\,1100101_2\\hline \end{array}
Faço a soma bit a bit da direita para a esquerda (mostrando carry):
  • LSB: 1+1=0 com carry 1.
  • Próximo: 1+0+carry =0 com carry 1.
  • Próximo: 0+1+carry =0 com carry 1.
  • Próximo: 1+0+carry =0 com carry 1.
  • Próximo: 1+0+carry =0 com carry 1.
  • Próximo: 0+1+carry =0 com carry 1.
  • MSB: 1+1+carry =1 com carry de saída 1 (carry para além do 7º bit).
Escrevendo os bits obtidos (do MSB ao LSB) nos 7 bits temos:
\text{soma (7 bits)} = 1000000_2.
Houve um carry de saída (um carry extra além dos 7 bits). A regra do complemento de 2 em aritmética de largura fixa diz: quando esse carry aparece, descartamos esse carry externo e o resultado positivo é exatamente os n bits obtidos. Logo, descartando o carry, o resultado final da subtração é \,1000000_2.

Passo 6

Checagem rápida em decimal para ter certeza (é sempre reconfortante): \,1011011_2 = 91_{10}, \,11011_2 = 27_{10}. Então \,91-27=64_{10}. Em binário \,64_{10} = 1000000_2. Confere com o resultado obtido pelo método.

Resposta

1000000_2

Exercícios relacionados