Representações numéricas assinadas

As representações de números assinados são usadas para resolver o problema de representar inteiros negativos em binários. O problema de tentar armazenar o sinal negativo (-) de um número binário é que não há mais estados com os quais se possa representar a atribuição negativa. Não é possível usar apenas 'off' para menos e 'on' para mais porque o computador não teria como saber se era um dígito ou um sinal.

Para superar este problema, os projetistas de computadores inventaram dois métodos para armazenar números binários negativos: o sinal e a magnitude e o complemento do 2. Estes produzem representações alternativas para números assinados.

Sinal e magnitude

O sinal e a Magnitude funcionam alterando o bit mais significativo (MSB - o primeiro dígito) para 1 se o número for negativo, e reduzindo o número em 1, por exemplo:

0000 0010 (2)

se tornará...

1000 0010 (-2)

Este método de armazenamento de números binários negativos não funciona porque:

  • A aritmética binária não vai funcionar.
  • Precisamos primeiro saber qual mecanismo de armazenamento o compilador de um determinado idioma utiliza.

1 do complemento

O complemento 1 funciona trocando 1s por 0s e o 0s por 1s, por exemplo:

0000 0010 (2)

se tornará...

1111 1101 (-2)

Muito parecido com o método do sinal e da magnitude, este é facilmente definido como um número negativo porque seu bit mais significativo é 1

2's complemento

O complemento 2 é uma maneira mais difícil de armazenar negativos. Há três passos para isso:

  1. Encontrar o número binário positivo (por exemplo 8base 10 = 0000 1000base 2).
  2. Troque o 1s por 0s e o 0s por 1s (por exemplo, 0000 1000base 2 torna-se 1111 0111base 2).

Isto é conhecido como "virar os pedaços", ou aplicar o NÃO lógico à representação da base 2 original.

  1. Adicionar 1 (ex. 1111 0111base 2 + 1base 2 = 1111 1000base 2).

Este método é apreciado porque:

  • É como um sinal e magnitude; um número negativo começa com um 1 e um número positivo começa com um 0.
  • A aritmética binária funcionará.
  • Há apenas um valor para 0 (0000 0000base 2).

AlegsaOnline.com - 2020 / 2023 - License CC3