logo

Adição e subtração usando complemento de 1

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

  1. 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.
  2. Agora, some os dois números, ou seja, 1101 e 0110;
    1101+0110=1 0011
  3. 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

  1. 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.
  2. Agora, some os dois números, ou seja, 1101 e 0001;
    1101+0001= 1110
  3. 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

  1. 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.
  2. Agora, adicionamos os dois números complementares, ou seja, 10001 e 10010;
    10001+10010= 1 00011
  3. Ao adicionar os dois números, obtemos o carry final 1. Adicionamos esse carry final ao LSB de 00011.
    00011+1=00100
  4. 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.