Efetue as operações:
Passo 1
O enunciado pede que eu efetue a subtração entre dois números escritos em base 2:
Informações dadas:
Objetivo: calcular o resultado da subtração e apresentar o valor em base 2.
Passo 2
Relembrando as regras básicas da subtração em base 2 (ótimo revisar isso antes de atacar a conta):
Quando temos
precisamos “pegar emprestado” de um bit mais à esquerda. Em binário pegar emprestado significa que um bit que valia
em uma posição
vira
e a posição imediatamente à sua direita recebe
(isto é,
em decimal). Se houver zeros entre o
de onde se empresta e a posição que precisa, esse
vira
e todos os zeros entre ele e a posição alvo ficam com valor
após a cadeia de empréstimos. Exemplo rápido: emprestar de
para a última posição transforma em
para facilitar a subtração local.
Passo 3
Para operar de forma clara alinham-se os dois números com o mesmo número de bits (vou colocar zeros à esquerda do subtrahendo):
Vou subtrair bit a bit da direita para a esquerda (do menos significativo para o mais significativo).
Passo 4
Faço a subtração bit a bit:
-
Bit de ordem 0 (mais à direita):
-
Bit de ordem 1:
-
Bit de ordem 2: precisamos calcular
. Aqui ocorre o empréstimo: à esquerda temos um bloco de zeros até o bit de ordem 5, que é . Ao emprestar do bit 5, esse vira e os zeros entre ele e o bit 2 ficam com ; o bit 2 passa a valer (ou seja, ) para permitir a subtração. Assim:
Agora no bit 2 temos
-
Bit de ordem 3: após o empréstimo o bit 3 vale
, então -
Bit de ordem 4: após o empréstimo o bit 4 vale
, então -
Bit de ordem 5: após o empréstimo o bit 5 ficou
, então
Juntando todos os resultados (do bit 5 ao bit 0) obtemos:
Passo 5
Removendo os zeros à esquerda para escrever na forma convencional, o resultado fica:
Vou verificar rapidamente convertendo para decimal (só para confirmar):
logo
e
em binário é
. Confere!