notação de complemento de dois é um método de expressar números negativos usando bits binários. Porque instruções de computador estão em binário, complemento de dois é necessária na programação. É significativamente mais rápida do que outras formas de aritmética , porque não é necessária qualquer tradução . Os passos a seguir mostram como usar o complemento de dois em uma mudança de bits. Instruções
1
Estudo notação binária comum. O local mais à direita representa 2 ^ 0 ou 1 e cada local sucessivo à esquerda representa uma fonte adicional de 2 . Portanto, o segundo lugar para a direita é 2 ^ 1 ou 2, o terceiro lugar para a direita é 2 ^ 2 ou 4.
2
converter um valor binário para um valor decimal. Vamos somar todas as potências de 2 que têm um 1 na localização do valor binário correspondente . Por exemplo , se o valor binário é 1101, então o equivalente decimal é 1x2 + 1x2 ^ 3 ^ 2 + 0x2 + 1x2 ^ 1 ^ 0 = 8 4 0 1 = 13 .
3
Examine a notação de complemento de dois . O lugar mais à esquerda é um bit de sinal com a 1 indicando um número negativo e os outros bits são bits de magnitude .
4
Calcule um valor em notação de complemento de dois do mesmo como um valor binário comum se o dígito mais à esquerda é 0 . Se o dígito mais à esquerda é uma 1 , 2 ^ n é subtraído do valor binário normal , onde n é o número de dígitos do valor . Por exemplo , no Passo 2 , 1101 é de 13 em notação binária comum . Na notação de complemento de dois , no entanto, 1101 = 13 - 2 ^ 4 = 13-16 = -3
5
Observe o efeito do valor de um complemento de dois em um turno bit . . O bit de sinal é preservada , então uma mudança bit direita por n locais de valor um complemento de dois vai dividir esse valor por 2 ^ n e arredondar para baixo . Da mesma forma, uma mudança pouco à esquerda do valor de um complemento de dois vai multiplicar esse valor por 2 ^ n desde que não haja excesso.
6
Considere uma mudança de bits em um valor específico de complemento de dois . Para uma mudança de bit à esquerda, 1101 ( -3 ) torna-se 1010 ( -6) . Uma mudança pouco direita vai fazer 1101 ( -3 ) tornam-se 1110 ( -2 ) .