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

Números binários negativos


Com a adição sendo facilmente realizada, podemos realizar a operação de subtração com a mesma técnica simplesmente tornando um dos números negativo. Por exemplo, o problema de subtração de 7 - 5 é essencialmente o mesmo que o problema de adição 7 + (-5).

Uma vez que já sabemos como representar números positivos em binário, tudo o que precisamos saber agora é como representar suas contrapartes negativas e seremos capazes de subtrair.



Normalmente representamos um número decimal negativo colocando um sinal de menos diretamente à esquerda do dígito mais significativo, assim como no exemplo acima, com -5. No entanto, todo o propósito de usar a notação binária é para construir circuitos on / off que podem representar valores de bit em termos de tensão (2 valores alternativos:“alto” ou “baixo”).

Neste contexto, não podemos nos dar ao luxo de um terceiro símbolo, como um sinal de “menos”, uma vez que esses circuitos só podem estar ligados ou desligados (dois estados possíveis). Uma solução é reservar um bit (circuito) que não faz nada além de representar o sinal matemático:






Como você pode ver, temos que ter cuidado ao começar a usar bits para qualquer propósito diferente dos valores ponderados de posição padrão. Caso contrário, 1101 2 pode ser mal interpretado como o número treze, quando na verdade queremos representar cinco negativos.

Para manter as coisas corretas aqui, devemos primeiro decidir quantos bits serão necessários para representar os maiores números com os quais estaremos lidando e, em seguida, certifique-se de não exceder o comprimento do campo de bits em nossas operações aritméticas.

Para o exemplo acima, eu me limitei à representação de números de sete negativos (1111 2 ) para sete positivo (0111 2 ), e nada mais, tornando o quarto bit o bit de “sinal”. Somente estabelecendo primeiro esses limites, posso evitar a confusão de um número negativo com um número positivo maior.

Representando cinco negativos como 1101 2 é um exemplo do sistema de sinal-magnitude da numeração binária negativa. Ao usar o bit mais à esquerda como um indicador de sinal e não um valor ponderado por um lugar, estou sacrificando a forma “pura” da notação binária por algo que me dá uma vantagem prática:a representação de números negativos.

O bit mais à esquerda é lido como o sinal, positivo ou negativo, e os bits restantes são interpretados de acordo com a notação binária padrão:da esquerda para a direita, coloque os pesos em múltiplos de dois.

Complementação


Por mais simples que seja a abordagem do sinal-magnitude, não é muito prática para fins aritméticos. Por exemplo, como adiciono um cinco negativo (1101 2 ) a qualquer outro número, usando a técnica padrão para adição binária?

Eu teria que inventar uma nova maneira de fazer a adição para que funcionasse, e se eu fizer isso, eu poderia muito bem fazer o trabalho com subtração à mão; não há vantagem aritmética em usar números negativos para realizar a subtração por adição se tivermos que fazer isso com numeração de magnitude de sinal, e esse era nosso objetivo!

Há outro método para representar números negativos que funciona com nosso técnica familiar de adição à mão, e também faz mais sentido do ponto de vista da numeração ponderada por um local, chamada de complementação.

Com essa estratégia, atribuímos o bit mais à esquerda para servir a um propósito especial, assim como fizemos com a abordagem de magnitude de sinal, definindo nossos limites numéricos como antes. No entanto, desta vez, o bit mais à esquerda é mais do que apenas um bit de sinal; em vez disso, possui um valor de peso local negativo. Por exemplo, um valor de cinco negativos seria representado como tal:


  



Com os três bits direitos sendo capazes de representar uma magnitude de zero a sete, e o bit mais à esquerda representando zero ou oito negativos, podemos representar com sucesso qualquer número inteiro de sete negativo (1001 2 =-8 10 + 1 2 =-7 10 ) para sete positivo (0111 2 =0 10 + 7 10 =7 10 ).


Representar números positivos neste esquema (com o quarto bit designado como peso negativo) não é diferente da notação binária comum. No entanto, representar números negativos não é tão simples:


  



Observe que os números binários negativos na coluna da direita, sendo a soma do total dos três bits direitos mais os oito negativos do bit mais à esquerda, não "contam" na mesma progressão que os números binários positivos na coluna da esquerda.

Em vez disso, os três bits direitos devem ser definidos no valor adequado para igualar o total desejado (negativo) quando somados com o valor negativo de oito casas do bit mais à esquerda.

Complemento de Dois


Esses três bits corretos são chamados de complemento de dois do número positivo correspondente. Considere a seguinte comparação:


  



Neste caso, com o bit de peso negativo sendo o quarto bit (valor posicional de oito negativo), o complemento de dois para qualquer número positivo será qualquer valor necessário para adicionar ao oito negativo para tornar o equivalente negativo desse valor positivo.

Felizmente, há uma maneira fácil de descobrir o complemento de dois para qualquer número binário:simplesmente inverta todos os bits desse número, mudando todos os 1s para 0 e vice-versa (para chegar ao que é chamado de complemento de um) e, em seguida, adicione um! Por exemplo, para obter o complemento de dois de cinco (101 2 ), primeiro inverteríamos todos os bits para obter 010 2 (o “complemento de um”), em seguida, adicione um para obter 011 2 , ou -5 10 em três bits, forma de complemento de dois


Curiosamente, a geração do complemento de dois de um número binário funciona da mesma forma se você manipular todos os bits, incluindo o bit mais à esquerda (sinal) ao mesmo tempo que os bits de magnitude. Vamos tentar isso com o exemplo anterior, convertendo um cinco positivo em um cinco negativo, mas realizando o processo de complementação em todos os quatro bits.

Devemos ter certeza de incluir o bit de sinal 0 (positivo) no número original, cinco (0101 2 ) Primeiro, invertendo todos os bits para obter o complemento de um:1010 2 . Então, adicionando um, obtemos a resposta final:1011 2 , ou -5 10 expresso em quatro bits, forma de complemento de dois.

É extremamente importante lembrar que o lugar do bit de peso negativo já deve ser determinado antes que qualquer conversão de complemento de dois possa ser feita. Se nosso campo de numeração binária fosse tal que o oitavo bit fosse designado como o bit de peso negativo (10000000 2 ), teríamos que determinar o complemento de dois com base em todos os sete dos outros bits.

Aqui, o complemento de dois de cinco (0000101 2 ) seria 1111011 2 . Um cinco positivo neste sistema seria representado como 00000101 2 e um cinco negativo como 11111011 2 .



PLANILHAS RELACIONADAS:

Tecnologia industrial

  1. Contador binário de 3 bits
  2. Numeração octal e hexadecimal
  3. Números versus numeração
  4. Subtração binária
  5. Feedback negativo
  6. Algoritmos Java
  7. Números em C++
  8. MATLAB - Números
  9. Python - Números
  10. Começando com Go no PLCnext