Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Tecnologia industrial

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:

Tecnologia industrial

  1. Eletrônica como ciência
  2. Configurando um laboratório doméstico
  3. Uso do voltímetro
  4. Uso do ohmímetro
  5. Um Circuito Muito Simples
  6. Contador binário de 3 bits
  7. Numeração decimal versus binária
  8. Numeração octal e hexadecimal
  9. Builds de contêiner para arm em x86
  10. Começando com Go no PLCnext