Complemento para dois
operação com números binários, e representação numérica baseada nesta operação / De Wikipedia, a enciclopédia encyclopedia
Em computação, complemento para dois ou complemento de dois é um tipo de representação binária de números com sinal amplamente usada nas arquiteturas dos dispositivos computacionais modernos.
O complemento de dois de um número de N bits é definido como o complemento em relação a 2N. Para calcular o complemento de dois de um número, basta subtrair este número de 2N, que em binário é representado por um seguido de N zeros. Outro método é calcular o complemento de um e somar um ao valor.
O bit mais significativo (MSB) é o que informa o sinal do número. Se este dígito for o número é positivo, e se for é negativo.[1]
Os números são escritos da seguinte forma:
- Positivos: Sua magnitude é representada na sua forma binária direta, e um bit de sinal 0 é colocado na frente do MSB.
- (bit 0) + o número em binário.
- Exemplos: 0001 (+1), 0100 (+4) e 0111 (+7)
- Negativos: Sua magnitude é representada na forma de complemento a 2, e um bit de sinal 1 é colocado na frente do MSB.
- Pegamos o número em binário e "invertemos" (0100 invertendo têm-se 1011) e
- Somamos um ao valor "invertido" (1011 + 0001 = 1100).
Desta maneira, só existe uma representação para o número zero ().
As vantagens do uso do complemento de 2 é que existe somente um zero e que as regras para soma e subtração são as mesmas. A desvantagem é o fato de ser um código assimétrico, porque o número de representações negativas é maior que o número de representações positivas. Por exemplo, com oito bits em complemento para 2 podemos representar os números decimais de -128 a +127.[2]