Representação de Inteiros com Sinal

Em sistemas binários puros, todos os dígitos são 0 ou 1, o que impede o uso de um caractere físico de traço ("-") para denotar negatividade. Três principais técnicas foram desenvolvidas ao longo da história computacional:

1. Sinal e Magnitude

O bit mais significativo à esquerda (MSB) é isolado exclusivamente para funcionar como o indicador de sinal ($0 = \text{positivo}$, $1 = \text{negativo}$). Os bits restantes codificam o valor absoluto absoluto. Seu grande defeito é a existência de duas representações para o valor zero (ex: $+0 \rightarrow 00000000$ e $-0 \rightarrow 10000000$), o que complica o circuito lógico interno.

2. O Padrão Moderno: Complemento de Dois ($2's\text{ Complement}$)

É a técnica universalmente adotada pelas CPUs contemporâneas para inteiros com sinal. O bit mais significativo possui um peso aritmético negativo de $-2^{n-1}$. Isso unifica as operações de adição e subtração em um único circuito somador digital comum de hardware.

Algoritmo de Obtenção do Complemento de Dois para Números Negativos:

Deseja-se mapear o valor $-6$ utilizando uma arquitetura de 8 bits:

  1. Obtenha a representação binária do valor absoluto positivo: $+6_{10} = 00000110_2$
  2. Inverta todos os bits (Operação lógica NOT / Complemento de Um): $11111001_2$
  3. Some $1_2$ ao resultado obtido: $11111001_2 + 00000001_2 = 11111010_2$

Portanto, no barramento de dados, a palavra binária 11111010 é interpretada nativamente como $-6_{10}$.

Representação de Números Reais (Ponto Flutuante - IEEE 754)

Para codificar números reais de precisão fracionária fracionária ou valores com escalas massivas, as arquiteturas abandonam o modelo de ponto fixo e adotam o padrão internacional IEEE 754, inspirado na notação científica clássica.

O número é estruturado dividindo sua palavra binária em três campos distintos:

A equação matemática que rege essa decodificação de hardware é:

$$V = (-1)^S \cdot (1 + \text{Mantissa}) \cdot 2^{(\text{Expoente} - \text{Vies})}$$

As duas formatações mais comuns do mercado são:

  1. Precisão Simples (Float - 32 bits): Dividido em 1 bit de sinal, 8 bits de expoente (viés de 127) e 23 bits de mantissa.
  2. Precisão Dupla (Double - 64 bits): Dividido em 1 bit de sinal, 11 bits de expoente (viés de 1023) e 52 bits de mantissa.
Voltar aos Tópicos