¿Cómo restar números binarios con complementos A1 o A2?

Restar en números binarios es algo muy sencillo. Para ello, es necesario, antes convertir el sustraendo en complemento A1 o A2, teniendo en cuenta también el signo en el bit más significativo. Los negativos, tienen un 1 mientras que los positivos tienen un 0 en el MSB. Para esto, dejo este enlace en donde se explica cómo obtener el complemento A1 o A2 con el signo. Veremos dos ejemplos, uno en donde el módulo del sustraendo es más chico que el minuendo y otro en donde ocurre lo contrario, para ver que el resultado puede quedar un número negativo. Entonces veremos dos ejemplos para cada complemento A1 y A2 respectivamente. Hay que tener en cuenta, que al hacer el complemento del sustraendo, en realidad sumamos los dos números en la operación final, pero en realidad, estamos realizando una resta.


Para la suma de los dos números, hay que tener en cuenta las siguientes enumeraciones:
  1. 1+1=0 y me llevo uno
  2. 1+0=1
  3. 0+1=1
  4. 0+0=0
  5. 1+1+1=1 y me llevo 1
Todas las imágenes se pueden ampliar. Todos los cálculos están hechos utilizando la extensión del signo y los números están representados con 16 bits.

Empezaremos mostrando cómo se realiza la resta de dos números en complemento A1. También se lo conoce como complemento a la base menos uno.

64-27=37

Resta, Binario, Complemento A1

Primero se hace el complemento de -27, que se encuentra a la derecha de la imagen. El bit 1 encuadrado significa que es negativo. En el resto se hace el complemento A1, es decir que se invierten todos los bits. Como se puede observar, luego se hace la suma de 64 con el complemento de -27. Entonces. Acá hay que hacer una acotación muy importante. Si hay acarreo, (como en este ejemplo) es decir, que la última suma de bits hizo que me lleve uno, en el complemento A1, tengo que sumar esa unidad al valor final.  Y finalmente este es el valor de la resta, es decir, 37.

61-347=-286

Resta, Binario, Complemento A1

Aquí el valor del sustraendo es más grande que el minuendo. Pero se hace todo de la misma forma. Como se puede ver, al no haber acarreo, no se le suma una unidad al valor final. Se puede apreciar al fondo de la imagen que se realiza una corroboración del resultado final. ¿Cómo se realiza esto? Obteniendo el valor en decimal del número binario final y a eso le restamos 2^n, donde n es el número de bits utilizados, que en este caso es 16. Al resultado final le sumamos uno. Esto se realiza si el número es negativo, porque si da positivo como en el ejemplo anterior, se hace pasando el valor binario a decimal.

Ahora mostraremos dos ejemplos con complemento A2. Este es el más utilizado y también se lo conoce como complemento a la base.

117-38=79

Resta, Binario, Complemento A2

Se puede observar que se realiza el complemento A2 de -38 a la derecha de la imagen. El bit 1 en el MSB marca que es negativo el número. Algo también importante para acotar es que en el complemento A2, si hay acarreo en la suma final no se debe sumarle una unidad. Esto nada más es en el complemento A1 antes mostrado. Finalmente, podemos ver cómo queda el valor final de la suma (que en realidad es una resta), que es 79.

213-763=-550

Resta, Binario, Complemento A2

Aquí podemos observar que el sustraendo (763) es más grande que el minuendo (213). Pero se resuelve exactamente de la misma forma. Primero se realiza el complemento A2 de -763 y se suma 213 con este valor para obtener el valor final. Como se puede ver en la imagen, se realiza una comprobación del número una vez que se terminó la resta. Para ello, como se observa, se vuelve a hacer el complemento A2, y eficientemente, se ha obtenido el valor de -550 de forma correcta. Esta comprobación se realiza si el resultado da negativo porque si da positivo simplemente pasamos de binario a decimal.

Para finalizar, se puede decir que ya hemos visto cómo hacer una resta en binario teniendo en cuenta tanto los complementos a la base (A2) o a la base menos uno (A1) y también considerando el signo. Pero en realidad, lo que se hace es una suma. Cabe destacar por último lo siguiente aunque ya se haya dicho anteriormente en las explicaciones:
  • En restas con complemento A1, si hay acarreo en la suma de los 2 números binarios, se le suma esta unidad al valor final. 
  • En restas con complemento A2, en cambio, si existe este acarreo en la suma de los 2 números binarios, se ignora. 
Con esto, ya se tienen los conocimientos suficientes como para restar en binario utilizando tanto los complementos A1 como A2 considerando el signo. 





4 comentarios :

  1. Esto ha aclarado perfectamente mis dudas, muchas gracias.

    ResponderEliminar
  2. Gracias por la excelente explicación.
    Como resto dos números números negativos, por ejemplo - 16-32?

    ResponderEliminar
    Respuestas
    1. Vas a tener que aplicar el complemento ya sea A1 o A2 al -16 y -32. Espero que haya servido. Saludos

      Eliminar