Como converter complementos de 2 para decimais

O complemento de 2 é um sistema para representar números binários negativos

Jupiterimages/Photos.com/Getty Images

O complemento de 2 é um sistema para representar números binários negativos. Ele também pode ser usado para implementar a subtração -- para subtrair "A" de "B", converta "A" para um número negativo e some; isso evita ter que construir um hardware para adição e subtração. Contanto com o sistema de conversão de um número binário em complemento de 2 -- e vice-versa -- é possível simplificar a representação do número negativo e efetivar a subtração. Converter de complemento de 2 para um número de base decimal requer duas etapas: primeiro a conversão para binário e, em seguida, de binário para decimal.

Step 1

Represente os números decimais como números binários continuamente dividindo-os por 2 na série e guardando os restos. Por exemplo, para converter 13 em binário, divida 13 por 2 para obter 6 e o primeiro resto que é 1. Divida em 6 por 2 para obter 3 e segundo resto que é 0. Divida em 3 por 2 para obter 1 e o terceiro resto que é 1. Divida 1 por 2 para obter 0 e resto que é 1. Os restos, na ordem inversa de produção, são 1101 e o número de base decimal 13 = binário 1101. É mais fácil reconhecer um número binário do que produzi-lo. A partir da direita, adicione d X 2 ^ p, onde "d" é o dígito binário e "p" é a posição, de foma que 1101 = (1 X 1) + (0 x 2) + (1 x 4) + (1 x 8) = 13.

Step 2

Transforme de binário para complemento de dois, invertendo os bits e adicionando 1. Então binário para 7 será 00000111 e 7 negativo será 11111001 porque 00000111 com os bits invertidos é 11111000 e 11111000 + 1 = 11111001. O dígito mais à esquerda é o bit de sinal. Os números positivos têm um bit de sinal zero e os números negativos têm um bit de sinal 1. Uma das coisas boas ​​sobre o complemento de 2 é que a sua conversão para binário se dá exatamente pelo mesmo processo de conversão de binário para complemento de dois. Por exemplo, para converter complemento de dois de -7 para 7 binário, inverta os dígitos e adicione 1. 11111001 invertido é 00000110 e 00000110 + 1 = 00000111.

Step 3

Converta de complemento de 2 para número de base decimal em duas etapas: complemento de 2 para binário e depois de binário para a base decimal. Por exemplo, para converter -21 em complemento de 2 -- 11101011 - para decimal, primeiro converta em binário e, em seguida, converta o binário em decimal. Inverta 11101011 para obter 00010100 e adicione 1 para obter 00010101 que é 21 em binário. Então, decodifique o binário usando a notação posicional para conseguir (0 X 128) + (0 X 64) + (0 x 32) + (1 x 16) + (0 X 8) + (1 x 4) + (0 X 2 ) + (1 x 1) = 21.

eHow Brasil
×