Subtração binária
Podemos subtrair um número binário de outro usando as técnicas padrão adaptadas para números decimais (subtração de cada par de bits, da direita para a esquerda, “emprestando” conforme necessário dos bits à esquerda). No entanto, se pudermos alavancar a já familiar (e mais fácil) técnica de adição binária para subtrair, isso seria melhor.
Como acabamos de aprender, podemos representar números binários negativos usando o método do "complemento de dois" e um bit de peso local negativo. Aqui, usaremos esses números binários negativos para subtrair por meio da adição.
Aqui está um exemplo de problema:
Subtração:7 10 - 5 10 Equivalente de adição:7 10 + (-5 10 )
Se tudo o que precisamos fazer é representar sete e cinco negativos na forma binária (complemento de dois), tudo o que precisamos são três bits mais o bit de peso negativo:
sete positivo =0111 2 cinco negativos =1011 2
Agora, vamos adicioná-los:
. 1111 <--- bits de transporte . 0111 . + 1011 . ------ . 10010 . | . Descartar um pedaço extra . . Resposta =0010 2
Como já definimos nosso campo de bit numérico como três bits mais o bit de peso negativo, o quinto bit na resposta (1) será descartado para nos dar um resultado de 0010 2 , ou dois positivos, que é a resposta correta.
Outra maneira de entender por que descartamos aquele bit extra é lembrar que o bit mais à esquerda do número inferior possui um peso negativo, neste caso igual a oito negativo.
Quando somamos esses dois números binários, o que estamos realmente fazendo com os MSBs é subtrair o MSB do número inferior do MSB do número superior. Na subtração, nunca se “carrega” um dígito ou bit para a próxima posição de peso à esquerda.
Vamos tentar outro exemplo, desta vez com números maiores. Se quisermos adicionar -25 10 a 18 10 , devemos primeiro decidir o quão grande nosso campo de bits binários deve ser.
Para representar o maior número (valor absoluto) em nosso problema, que é vinte e cinco, precisamos de pelo menos cinco bits, mais um sexto bit para o bit de peso negativo. Vamos começar representando vinte e cinco positivos, então encontrando o complemento de dois e colocando tudo junto em uma numeração:
+25 10 =011001 2 (mostrando todos os seis bits) Um complemento de 11001 2 =100110 2 Complemento de um + 1 =complemento de dois =100111 2 -25 10 =100111 2
Essencialmente, estamos representando vinte e cinco negativos usando o bit de peso negativo (sexto) com um valor de trinta e dois negativo, mais sete positivo (binário 111 2 )
. 18 10 =010010 2 . . Agora, vamos adicioná-los e ver o que temos:. . 11 <--- bits de transporte . 100111 . + 010010 . -------- . 111001
Como não havia bits “extras” à esquerda, não há bits para descartar. O bit mais à esquerda da resposta é 1, o que significa que a resposta é negativa, na forma de complemento de dois, como deveria ser. Convertendo a resposta para a forma decimal somando todos os bits vezes seus respectivos valores de peso, obtemos:
(1 x -32 10 ) + (1 x 16 10 ) + (1 x 8 10 ) + (1 x 1 10 ) =-7 10
De fato -7 10 é a soma adequada de -25 10 e 18 10 .
PLANILHAS RELACIONADAS:
- Planilha de matemática binária
Tecnologia industrial