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

Passo 1

O enunciado pede para efetuar a subtração usando complemento de 2. Os dados são:
  • Minuendo: 11001011_2.
  • Subtraendo: 10101_2.
    A tarefa é calcular 11001011_2 - 10101_2 usando o procedimento do complemento de 2 e apresentar o resultado final.

Passo 2

Primeiro alinhamos os tamanhos em bits: o minuendo tem 8 bits ( 11001011_2), então escrevemos o subtraendo com 8 bits também, preenchendo com zeros à esquerda:
\text{subtraendo (com 8 bits)} = 00010101_2.
Isso é importante porque o complemento de 2 funciona em um número fixo de bits n; aqui escolhemos n=8.

Passo 3

Explicação didática do método (passo a passo conceitual):
  • A subtração em complemento de 2 usa a identidade
A - B \equiv A + (2^{n}-B) \pmod{2^{n}}.
  • O número 2^{n}-B é justamente o complemento de 2 de B. Para calcular o complemento de 2 de B com n bits: inverte-se todos os bits de B (obtendo o complemento de 1) e soma-se 1.
  • Depois soma-se esse complemento ao minuendo A. Se surgir um carry de saída (um transporte para além do bit mais significativo), esse carry é descartado e o resultado é positivo e válido em n bits. Se não houver carry de saída, o resultado é negativo e obtém-se seu valor tomando o complemento de 2 do resultado e adicionando sinal negativo.
    Vou aplicar isso passo a passo aos nossos números.

Passo 4

Calcular o complemento de 2 do subtraendo 00010101_2:
  1. Inverter os bits (complemento de 1):
\text{inverso}(00010101_2)=11101010_2.
  1. Somar 1:
11101010_2 + 1_2 = 11101011_2.
Logo o complemento de 2 do subtraendo (em 8 bits) é 11101011_2. Isso representa 2^{8}-21 no nosso exemplo.

Passo 5

Agora somamos o minuendo 11001011_2 com esse complemento:
\begin{array}{r} \;11001011_2\\\\ +11101011_2\\hline \end{array}
Faço a adição bit a bit (da direita para a esquerda), anotando os transportes:
  • LSB: 1+1=0 com transporte 1.
  • Próximo: 1+1+\text{transport }1=1 com transporte 1.
  • Próximo: 0+0+\text{transport }1=1 com transporte 0.
  • Próximo: 1+1+0=0 com transporte 1.
  • Próximo: 0+0+1=1 com transporte 0.
  • Próximo: 0+1+0=1 com transporte 0.
  • Próximo: 1+1+0=0 com transporte 1.
  • MSB: 1+1+\text{transport }1=1 com transporte de saída 1.
Escrevendo o resultado (ignorando por enquanto o transporte final), obtemos
10110110_2
e houve um transporte de saída igual a 1.

Passo 6

Interpretação do transporte final: como houve um transporte de saída =1, isso indica que a operação resultou num valor positivo representável em 8 bits. Pela regra do complemento de 2, descartamos esse transporte final e o resultado em 8 bits é o que ficou:
10110110_2.

Passo 7

Verificação rápida em decimal (chequinho para ter certeza):
  • 11001011_2 = 128+64+8+2+1 = 203.
  • 10101_2 = 16+4+1 = 21.
  • 203-21 = 182.
  • 10110110_2 = 128+32+16+4+2 = 182.
    Conferido: bate certinho.

Resposta

10110110_2

Exercícios relacionados