Exemplo
Representar os números decimais +5 , -5, +54 e -54 em notação complemento para 2 com:
a) 4 bits
Temos +5(10) <> 0101(C2) e -5(10) <> 1011(C2) (notemos que 1011 foi formado por complementação para 2 de 0101).
+54(10) e -54(10) não se conseguem representar e, 4 bits nesta notação. Com efeito, na notação de complemento para 2 o intervalo de representação é , o que, para 4 bits, dá [-8,+7].
b) 5 bits
Temos +5(10) <> 00101(C2) e -5(10) <> 11011(C2) (mais uma vez, 11011 foi formado por complementação para 2 de 00101).
Comparemos com a representação destes números com 5 bits e a representação com 4 bits, para constatar que as representações são idênticas, excepto pelo bit de sinal que, com 5 bits ficou duplicado.
Mais uma vez, +54(10) e -54(10) não se conseguem representar com 5 bits nesta notação porque o intervalo de representação em complemento para 2 com 5 bits é igual a [-16,+15].
c) 6 bits
Se reproduzirmos os resultados da alínea anterior duplicando, mais uma vez, o bit de sinal dos números, obtemos o resultado correcto com 6 bits +5(10) <> 000101(C2) e -5(10) <> 111011(C2) .
Também agora não conseguimos representar +54(10) e -54(10) com 6 bits nesta notação, porque o intervalo de representação em complemento para 2 com 6 bits é [-32,+31].
d) 7 bits
Se reproduzirmos os resultados da alínea anterior duplicando, mais uma vez, o bit de sinal dos números, obtemos o resultado correcto com 7 bits +5(10) <> 0000101(C2) e -5(10) <> 1111011(C2) .
Agora já conseguimos representar +54(10) e -54(10) com 7 bits, porque o intervalo de representação em complemento para 2 com 6 bits é [-64,+63]. Temos:
+54(10) |
<> |
0110110 |
-54(10) |
<> |
1001010 |
Notemos mais uma vez, que 1001010 foi formado por complementação para 2 de 0110110.