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

Entendendo Números Negativos em Binário: Sinal-Magnitude, Complemento e Complemento de Dois

A subtração pode ser transformada em adição tratando o subtraendo como um valor negativo; por exemplo, 7 − 5 torna-se 7 + (−5).

Uma vez dominada a representação binária positiva, o próximo passo é codificar números negativos para que a subtração possa ser realizada usando a mesma rotina de adição.

Em decimal, um sinal de menos prefixa o dígito mais significativo (ex.: −5). Em hardware binário, temos apenas dois estados — alto ou baixo — então devemos codificar o sinal dentro do padrão de bits.

Neste contexto, não temos um terceiro símbolo como um sinal de "menos". Uma solução é reservar um bit que represente o sinal matemático:

Entendendo Números Negativos em Binário: Sinal-Magnitude, Complemento e Complemento de Dois

Usar bits para propósitos além de seu peso posicional pode levar a confusão; por exemplo, 1101₂ pode ser lido como treze a menos que o bit inicial seja tratado como sinal.

Primeiro, decida a largura total de bits necessária para acomodar a maior magnitude, então garanta que todas as operações permaneçam dentro dessa largura.

No exemplo abaixo, restringimos o intervalo a −7 (1111₂) até +7 (0111₂) tratando o bit mais significativo como sinal, evitando assim má interpretação.

Codificar −5 como 1101₂ ilustra o sistema de sinal-magnitude, onde o bit inicial denota sinal em vez de valor, trocando pureza posicional por praticidade.

O bit mais significativo indica o sinal; os bits restantes retêm valores posicionais padrão (potências de dois).

Complementação

Embora sinal-magnitude seja conceitualmente simples, complica a adição binária. Como adicionar −5 (1101₂) a outro número usando adição ordinária?

Criar um algoritmo de adição personalizado derrota o propósito; seria equivalente à subtração manual, negando qualquer benefício computacional.

Uma alternativa — complementação — permite que números negativos sejam adicionados usando o método padrão de adição binária e alinha-se naturalmente com pesos posicionais.

Neste esquema, o bit mais significativo ainda delimita o intervalo, mas agora carrega um peso de posição negativo (ex.: −8). Por exemplo, −5 é codificado da seguinte forma:

Entendendo Números Negativos em Binário: Sinal-Magnitude, Complemento e Complemento de Dois

Com os três bits da direita capazes de representar magnitudes de 0 a 7, e o bit mais à esquerda representando 0 ou −8, podemos representar qualquer inteiro de −7 (1001₂ = −8 + 1 = −7) a +7 (0111₂ = 0 + 7 = 7).

Valores positivos permanecem inalterados, mas valores negativos requerem a operação de complemento.

Entendendo Números Negativos em Binário: Sinal-Magnitude, Complemento e Complemento de Dois

Números binários negativos na coluna da direita são a soma dos três bits da direita mais o negativo-oito do bit mais à esquerda, então não seguem a mesma progressão dos números positivos.

Em vez disso, os três bits da direita devem ser definidos de forma que, quando somados ao valor de posição negativo-oito, produzam o total negativo desejado.

Complemento de Dois

Os três bits da direita são o complemento de dois do correspondente positivo. Por exemplo:

Entendendo Números Negativos em Binário: Sinal-Magnitude, Complemento e Complemento de Dois

Com o bit de peso negativo como o quarto bit (−8), o complemento de dois para qualquer número positivo é o valor necessário para adicionar a −8 para obter o equivalente negativo desse número.

Calcular um complemento de dois é simples: inverta todos os bits (o complemento de um) e adicione um. Por exemplo, para obter o complemento de dois de cinco (101₂), primeiro inverta para 010₂, então adicione um para obter 011₂, que representa −5 em complemento de dois de três bits.

Gerar o complemento de dois funciona da mesma forma se você manipular todos os bits, incluindo o bit mais significativo, de uma vez. Por exemplo, converter 0101₂ (cinco) para negativo cinco:

Inverter todos os bits → 1010₂; adicionar um → 1011₂, representando −5 em complemento de dois de quatro bits.

É crucial que a posição do bit de peso negativo seja fixada antes de realizar qualquer conversão de complemento de dois. Se o oitavo bit fosse o bit de peso negativo (10000000₂), o complemento de dois de 0000101₂ seria 1111011₂, representando −5 em complemento de dois de oito bits.

Assim, em um sistema de oito bits, +5 é 00000101₂ e −5 é 11111011₂.

PLANILHAS RELACIONADAS:

Tecnologia industrial

  1. Contador Binário de 3 Bits com Timer 555 e Flip-Flops 4027
  2. Numeração Octal e Hexadecimal: Guia Prático para Engenheiros
  3. Números vs. Numeração: Entendendo a Distinção e Seu Impacto Prático
  4. Subtração Binária Usando Complemento de Dois
  5. Entendendo Realimentação Negativa em Op-amps: Seguidores de Tensão e Estabilidade
  6. Dominando Algoritmos de Coleção Java: Ordenação, Embaralhamento e Mais
  7. Dominando Tipos Numéricos em C++: Guia Prático
  8. MATLAB – Números: Tipos, Armazenamento e Conversão
  9. Números em Python: Entender Tipos de Dados Numéricos Imutáveis
  10. Construa Sua Primeira Aplicação Go no PLCnext: Guia para Iniciantes