Obra: Sistemas Digitais
Autor: Thomas Floyd
COMPLEMENTOS DE 1 E DE 2 DE NÚMEROS BINÁRIOS (Página 76)
1 - Adição de Binários
Regras da adição de binários:
R1: 0 + 0 = 0
R2: 0 + 1 = 1
R3: 1 + 1 = 0 e transporta 1
Considere a adição decimal: 97 + 18
Adição das unidades: 7 + 8 = 15 ou 1 dezena e 5 unidades.Então essa dezena é transportada para a coluna das dezenas;
Adição das dezenas: 9 + 1 = 10 + 1 (vindo como excedente das unidades) = 11
Acontece que 11 dezenas é igual a 1 centena e 1 dezena:
Adição das centenas: 1 + 0 = 1
Logo: 97 + 18 = 1 centena + 1 dezena + 5 unidades = 115 unidades.
Na adição de binários é a mesma coisa, mas em vez de unidades, dezenas, centenas, etc. se trabalha com posições e somente dois valores, 0 ou 1. Se em uma coluna o resultado ultrapassa o máximo que é 1, então nessa posição não é registrado nada e transporta-se o excedente (que só pode ser 1) para a posição à esquerda.
Exemplo:
10 + 11 (2 + 3 em decimal)
->
0 + 1 = 1 (R2)
->
1 + 1 = 0 e vai 1 (R3)
Logo: 10 + 11 = 101 (5 em decimal)
1.1 - Complemento de 1
É o valor que um número binário deve ter que, somado a outro resulta em um terceiro
número binário em que todos os bits são uns (1).
Exemplo 1: 10
C1(10) = 01, pois: 10 + 01 = 11, C1(10) lê-se “Complemento de 1 para o binário 10”
Exemplo 2: 10110000
C1(10110000) = 01001111, pois: 10110000 + 01001111 = 11111111
1.2 - Complemento de 2
É o valor do complemento de 1 acrescido de um bit 1 no LSB.
Exemplo 1:
C2(10) = C1(10) + 1 = 01 + 1 = 10, onde lê-se: “Complemento de 2 para o binário 10”
Exemplo 2:
C2(10110000) = C1(10110000) + 1 = 01001111 + 1 = 01010000
Observação:
1 - MSB: Most Significant Bit (Bit Mais Significante): são o bits mais à esquerda.
Da mesma forma que quanto mais um numeral decimal está à esquerda mais ele representa, assim também é com o números binários.
Exemplo: numeral 1. Se for colocado nas dezenas ou nas centenas, mais ele representa;
199 = 1 centena + 9 dezenas + 9 unidades, aqui 1 representa 1 centena = 100 unidades
231 = 2 centenas + 3 dezenas + 1 unidade, aqui 1 representa 1 unidade
Embora o numeral 1 valha 1 em qualquer circunstância, dependendo da sua posição, pode representar uma unidade, uma dezena (10 unidades), uma centena (100 unidades), etc.
2 - LSB: Less Significant Bit (Bit Menos Significativo): são os bits mais à direita.
Da mesma forma que quanto mais um numeral decimal está à direita menos ele representa, assim também é com o números binários.
Logo: C2(n) = C1(n) + 1 no LSB, onde n é o número binário.
Para representar um número como positivo ou negativo, deve-se definir o tamanho da palavra. Uma palavra é uma sequência de bits de tamanho fixo que o processador pode operar de uma única vez. Em geral, as palavras correspondem a um byte que por sua vez geralmente correspondem a um octeto, ou seja, têm um tamanho de 8 bits.
1.3 - Bit de Sinal: é o bit em MSB (o mais à esquerda) que determina se um número é positivo ou negativo. Dado uma palavra em octeto, ela tem magnitude de representação 7 (pode representar números de 2^0 a 2^7, ou seja de 0 a 128), pois a posição 8 é reservada ao bit de sinal, não sendo, portanto, usada para representar número. Quando o MSB é 0, então o número é positivo; quando é 1, o número é negativo.
Exemplo:
+92 = 010111000
-92 = 110111000
Essa forma de sinalização de um número em binário é conhecida como forma em sinal-magnitude.
1.4 - Sinalização por meio de sinal-magnitude
Exemplo 1.1: o decimal +2, em binário é 10 e expresso como uma palavra é 00000010
Exemplo 1.2: o decimal -2, em binário é 10 e expresso como uma palavra é 10000010
Exemplo 2.1: o decimal -34, em binário é 100100 e expresso como uma palavra é 10100100
Exemplo 2.2: o decimal +34, em binário é 100100 e expresso como uma palavra é 00100100
Exemplo 3.1: o decimal +115, em binário é 1110011 e expresso como uma palavra é 01110011
Exemplo 3.2: o decimal -115, em binário é 1110011 e expresso como uma palavra é 11110011
1.5 - Sinalização por meio do complemento de 1
É a forma de sinalização que, quando o número é positivo, a sua representação segue o padrão da forma sinal-magnitude, ou seja, o MSB é 0. No entanto, na representação dos negativos usa-se o seu complemento de 1, ou seja, convenciona-se que sempre que é dado C1, a representação é de negativo.
Exemplo 1.1: +61 = 00111101
Exemplo 1.2: -61 = C1(00111101) = 11000010
1.6 - Sinalização por meio do complemento de 2
É a forma de sinalização que, quando o número é positivo, a sua representação segue o padrão da forma sinal-magnitude, ou seja, o MSB é 0. No entanto, na representação dos negativos usa-se o seu complemento de 2, ou seja, convenciona-se que sempre que é dado C2, a representação é de negativo.
Exemplo 1.1: +61 = 00111101
Exemplo 1.2: -61 = C2(00111101) = C1(00111101) + 1 = 11000011