Efetue as subtrações, utilizando o complemento de 2 :
10010111_{2}-1011_{2}
Passo 1
O enunciado pede para calcular a subtração usando complemento de 2:
10010111_2 - 1011_2.
Informações dadas:
Minuendo: \,10010111_2.
Subtraendo: \,1011_2.
A tarefa é efetuar a subtração usando o procedimento do complemento de 2, sem pedir nada mais.
Passo 2
O que é o complemento de 2 e por que usamos aqui (aula rápida)?
Para subtrair em binário podemos transformar a operação em uma soma: A - B = A + (\text{complemento de 2 de }B).
O complemento de 2 de um número binário é obtido em duas etapas:
Inverter todos os bits (isso chama-se complemento de 1 ou “one’s complement”).
Somar 1 ao resultado (isso produz o complemento de 2).
Quando trabalhamos com uma largura fixa de bits (por exemplo 8 bits), devemos alinhar os dois números à mesma largura (preencher com zeros à esquerda se necessário). Após somar A com o complemento de 2 de B:
Se houver um carry (um bit extra) fora da largura fixa, esse carry é descartado e o resultado (nos bits restantes) é o resultado correto positivo da subtração.
Se não houver carry, o resultado está em representação de complemento de 2 negativa e precisa ser interpretado/convertido.
Passo 3
Alinhar os operandos para a mesma largura. O minuendo tem 8 bits: \,10010111_2.
O subtraendo tem 4 bits: \,1011_2. Preenchemos com zeros à esquerda para 8 bits:
\text{subtraendo (8 bits)} = 00001011_2.
Passo 4
Fazer o complemento de 1 (inverter bits) do subtraendo alinhado:
Escrevendo os resultados dos bits (do MSB ao LSB): \,10001100_2. Houve um carry final igual a 1.
Passo 7
Interpretando o carry final: como houve carry de saída quando usamos 8 bits, descartamos esse carry. O resultado nos 8 bits restantes é o valor correto e positivo da subtração:
10001100_2.
Conferência rápida em decimal para ganhar confiança: