Em nossa seção anterior, aprendemos sobre diferentes complementos, como complemento de 1, complemento de 2, complemento de 9 e complemento de 10, etc. Nesta seção, aprenderemos a realizar operações aritméticas como adição e subtração usando complemento de 1. Podemos realizar adição e subtração usando complemento de 1, 2, 9 e 10.
Adição usando complemento de 1
Existem três casos diferentes possíveis quando adicionamos dois números binários, que são os seguintes:
Caso 1: Soma do número positivo com um número negativo quando o número positivo tem magnitude maior.
Inicialmente, calcule o complemento de 1 do número negativo fornecido. Some com o número positivo fornecido. Se obtivermos o carry final 1, ele será adicionado ao LSB.
Exemplo: 1101 e -1001
- Primeiro, encontre o complemento de 1 do número negativo 1001. Portanto, para encontrar o complemento de 1, troque todos os 0 por 1 e todos os 1 por 0. O complemento de 1 do número 1001 é 0110.
- Agora, some os dois números, ou seja, 1101 e 0110;
1101+0110=1 0011 - Ao adicionar os dois números, obtemos o carry final 1. Adicionamos esse carry final ao LSB de 0011.
0011+1=0100
Caso 2: Somar um valor positivo com um valor negativo caso o número negativo tenha magnitude maior.
Inicialmente, calcule o complemento de 1 do valor negativo. Some com um número positivo. Neste caso, não obtivemos o transporte final. Então, pegue o complemento de 1 do resultado para obter o resultado final.
Nota: A resultante é um valor negativo.
Exemplo: 1101 e -1110
- Primeiro encontre o complemento de 1 do número negativo 1110. Portanto, para encontrar o complemento de 1, mudamos todos os 0 para 1 e todos os 1 para 0. O complemento de 1 do número 1110 é 0001.
- Agora, some os dois números, ou seja, 1101 e 0001;
1101+0001= 1110 - Agora encontre o complemento de 1 do resultado 1110 que é o resultado final. Assim, o complemento de 1 do resultado 1110 é 0001, e adicionamos um sinal negativo antes do número para que possamos identificar que se trata de um número negativo.
Caso 3: Adição de dois números negativos
Nesse caso, primeiro encontre o complemento de 1 de ambos os números negativos e, em seguida, somamos esses dois números complementares. Nesse caso, sempre obtemos o carry final, que é somado ao LSB, e para obter o resultado final, pegamos o complemento de 1 do resultado.
Nota: A resultante é um valor negativo.
Exemplo: -1101 e -1110 em registro de cinco bits
- Em primeiro lugar, encontre o complemento de 1 dos números negativos 01101 e 01110. Portanto, para encontrar o complemento de 1, mudamos todos os 0 para 1 e todos os 1 para 0. O complemento de 1 do número 01110 é 10001 e 01101 é 10010.
- Agora, adicionamos os dois números complementares, ou seja, 10001 e 10010;
10001+10010= 1 00011 - Ao adicionar os dois números, obtemos o carry final 1. Adicionamos esse carry final ao LSB de 00011.
00011+1=00100 - Agora encontre o complemento de 1 do resultado 00100 que é a resposta final. Então, o complemento de 1 do resultado 00100 é 110111, e adicione um sinal negativo antes do número para que possamos identificar que se trata de um número negativo.
Subtração usando complemento de 1
Estas são as etapas a seguir para subtrair dois números binários usando o complemento de 1
- Na primeira etapa, encontre o complemento de 1 do subtraendo.
- A seguir, adicione o número do complemento com o minuendo.
- Se tiver um carry, adicione-o ao seu LSB. Caso contrário, pegue o complemento de 1 do resultado, que será negativo
Nota: O valor do subtraendo sempre é subtraído do minuendo.
Exemplo 1: 10101 - 00111
Pegamos o complemento de 1 do subtraendo 00111, que resulta em 11.000. Agora, some-os. Então,
10101+11000 =1 01101.
No resultado acima, obtemos o carry bit 1, então adicione-o ao LSB de um determinado resultado, ou seja, 01101+1=01110, que é a resposta.
Exemplo 2: 10101 - 10111
Pegamos o complemento de 1 do subtraendo 10111, que resulta em 01000. Agora, some os dois números. Então,
10101+01000 =11101.
No resultado acima, não obtivemos o carry. Portanto calcule o complemento de 1 do resultado, ou seja, 00010, que é o número negativo e a resposta final.