logo

Suma y resta usando el complemento a 2

En nuestra sección anterior, aprendimos cómo podríamos realizar operaciones aritméticas como sumas y restas usando el complemento a 1. En esta sección, aprenderemos a realizar estas operaciones usando el complemento a 2.

cadena en java

Suma usando complemento a 2

Hay tres casos diferentes posibles cuando sumamos dos números binarios usando el complemento a 2, que es el siguiente:

Caso 1: Suma del número positivo con un número negativo cuando el número positivo tiene mayor magnitud.

Inicialmente encuentra el complemento a 2 del número negativo dado. Resuma con el número positivo dado. Si obtenemos el acarreo final 1, entonces el número será un número positivo y el bit de acarreo se descartará y los bits restantes serán el resultado final.

Ejemplo: 1101 y -1001

  1. Primero, encuentre el complemento a 2 del número negativo 1001. Entonces, para encontrar el complemento a 2, cambie todos los 0 a 1 y todos los 1 a 0 o encuentre el complemento a 1 del número 1001. El complemento a 1 del número 1001 es 0110, y suma 1 al LSB del resultado 0110. Entonces, el complemento a 2 del número 1001 es 0110+1=0111
  2. Sume ambos números, es decir, 1101 y 0111;
    1101+0111=1 0100
  3. Sumando ambos números, obtenemos el acarreo final 1. Descartamos el acarreo final. Entonces, la suma de ambos números es 0100.

Caso 2: Suma del valor positivo con un valor negativo cuando el número negativo tiene mayor magnitud.

Inicialmente, suma un valor positivo con el valor en complemento a 2 del número negativo. Aquí no se encuentra ningún acarreo final. Entonces, tomamos el complemento a 2 del resultado para obtener el resultado final.

Nota: El resultado es un valor negativo.

Ejemplo: 1101 y -1110

  1. Primero, encuentra el complemento a 2 del número negativo 1110. Entonces, para encontrar el complemento a 2, suma 1 al LSB de su valor en complemento a 1 0001.
    0001+1=0010
  2. Sume ambos números, es decir, 1101 y 0010;
    1101+0010= 1111
  3. Encuentra el complemento a 2 del resultado 1110 que es el resultado final. Entonces, el complemento a 2 del resultado 1110 es 0001, y agrega un signo negativo antes del número para que podamos identificar que es un número negativo.

Caso 3: Suma de dos números negativos

En este caso, primero, encuentre el complemento a 2 de ambos números negativos y luego sumaremos ambos números en complemento. En este caso, siempre obtendremos el acarreo final, que se sumará al LSB, y olvidándonos del resultado final, tomaremos el complemento a 2 del resultado.

Nota: El resultado es un valor negativo.

Ejemplo: -1101 y -1110 en registro de cinco bits

  1. En primer lugar, encuentre el complemento a 2 de los números negativos 01101 y 01110. Entonces, para encontrar el complemento a 2, sumamos 1 al LSB del complemento a 1 de estos números. El complemento a 2 del número 01110 es 10010 y 01101 es 10011.
  2. Sumamos ambos números complementarios, es decir, 10001 y 10010;
    10010+10011= 1 00101
  3. Al sumar ambos números, obtenemos el acarreo final 1. Este acarreo se descarta y el resultado final es el complemento a 2 del resultado 00101. Entonces, el complemento a 2 del resultado 00101 es 11011, y sumamos un valor negativo firme antes del número para que podamos identificar que es un número negativo.

Resta usando complemento a 2

Estos son los siguientes pasos para restar dos números binarios usando el complemento a 2

  • En el primer paso, encuentra el complemento a 2 del sustraendo.
  • Suma el número del complemento con el minuendo.
  • Si obtenemos el acarreo sumando ambos números, descartamos este acarreo y el resultado es positivo; de lo contrario, tomamos el complemento a 2 del resultado, que será negativo.

Ejemplo 1: 10101 - 00111

Tomamos el complemento a 2 del sustraendo 00111, que es 11001. Ahora, súmelos. Entonces,

10101+11001 =1 01110.

En el resultado anterior, obtenemos el bit de acarreo 1. Así que descartamos este bit de acarreo y lo que queda es el resultado final y un número positivo.

Ejemplo 2: 10101 - 10111

Tomamos el complemento a 2 del sustraendo 10111, que resulta 01001. Ahora, sumamos ambos números. Entonces,

10101+01001 =11110.

En el resultado anterior, no obtuvimos el bit de acarreo. Entonces calcula el complemento a 2 del resultado, es decir, 00010. Es el número negativo y la respuesta final.