Como converter números negativos em binários

É quase certo que você já ouviu falar de números negativos. Se você já teve um pouco de contato com o mundo da ciência da computação e da programação de computadores, o conceito de números binários não é totalmente estranho. Mas, a menos que você tenha explorado o mundo da programação pessoalmente, provavelmente nunca trabalhou substancialmente com números binários.

Como os computadores não podem "pensar" ou "decidir" por conta própria, mas podem seguir instruções ordenadas com precisão infalível, os matemáticos surgiram há muito tempo com uma maneira de os computadores (ou seres humanos suficientemente pacientes) fazerem adição, subtração e outras operações matemáticas usando apenas os dígitos 0 e 1.

Mas existe uma maneira de combinar essas duas ideias para produzir números negativos? É tão simples quanto dizer a uma máquina para colocar uma pequena barra horizontal na frente de um número existente, como uma caneta e papel, ou o fator "bits e bytes" torna as coisas mais complicadas?

O que são números binários?

Os computadores têm uma quantidade enorme de poder de processamento e até mesmo um velho clunker pode realizar cálculos a uma taxa que pareceria incompreensível até para o ser humano mais talentoso em aritmética. Mas eles não são cérebros, e a única maneira de fazê-los lidar com informações complexas é relegar tudo o que for possível a um de dois estados, por exemplo, ligado ou desligado.

Em "computer-ese", um único 0 ou 1 é referido como um pedaço. Grupos destes incluem o nybble (4 bits), o conhecido byte (8), o palavra (1) e o palavra longa (32).

Os números decimais que você normalmente vê, como 492 e 35, são "base 10", porque incluem 10 símbolos progressivos (os dígitos de 0 a 9) que "roll over" para o próximo lugar à esquerda - a próxima "potência de 10". Os números binários, em vez disso, incluem apenas dois símbolos (os dígitos 0 e 1) e são "base-2." Cada movimento para a esquerda a partir do final do número é uma potência crescente de dois: os dígitos finais representam 1, os próximos 2, então 4, 8, 16 e em breve.

  • Um número decimal é qualquer número no sistema de base 10, não necessariamente um número que inclui um ponto decimal.

Exemplos de números binários

O "nybble" binário 0101 tem 1's na 1ª e 4ª posições, e 0's na 2ª e 8ª posições. Portanto, seu equivalente decimal é 1 + 4 = 5.

Da mesma forma, o byte 1001 1100 é equivalente a 128 + 16 + 8 + 4 (28 + 25 + 24 + 23) = 156.

O complemento de um número binário é apenas o número com seus dígitos "trocados". Por exemplo, o complemento de 1001 1100 = 0110 0011.

Conversão de números negativos em binários

O modo como você converte um número decimal negativo em um número binário provavelmente é bem diferente de outras conversões numéricas você executou porque sua mente, apesar de toda a sua preguiça comparativa, é muito mais flexível em muitos aspectos do que qualquer CPU. No entanto, é um processo direto.

A conversão é feita usando um binário de complemento de dois, que requer que o programador instrua o computador a interpretar qualquer número binário começando com 1 como negativo. O programa então constrói o número positivo correspondente em binário, pega seu complemento e adiciona um.

Por exemplo, dado o número −47, o computador criaria o número binário para +47:

0001 1111

O complemento disso é:

1110 0000

Adicionar um a isso dá:

1110 0001

Observe que o computador "assinou" esses números para tratar um 1 inicial como negativo e processar os resultados de forma diferente do que simplesmente somar as potências de 2 ocupadas pelo símbolo 1.

  • Compartilhar
instagram viewer