El algoritmo de la resta, en binario, es el mismo que en el sistema decimal. Pero conviene repasar la operación de restar en decimal para comprender la operación binaria, que es más sencilla. Los términos que intervienen en la resta se llaman minuendo, sustraendo y diferencia.
Las restas básicas 0-0, 1-0 y 1-1 son evidentes:
- 0 - 0 = 0
- 1 - 0 = 1
- 1 - 1 = 0
- 0 - 1 = 1
La resta 0 - 1 se resuelve, igual que en el sistema decimal, tomando una unidad prestada de la posición siguiente: 10 - 1 = 1 y me llevo 1, lo que equivale a decir en decimal, 2 - 1 = 1 . Esa unidad prestada debe devolverse, sumándola, a la posición siguiente. Veamos algunos ejemplos:
Restamos 17 - 10 = 7 (2=345) Restamos 217 - 171 = 46 (3=690)
10001 11011001
-01010 -10101011
------ ---------
00111 00101110
A pesar de lo sencillo que es el procedimiento, es fácil confundirse. Tenemos interiorizado el sistema decimal y hemos aprendido a restar mecánicamente, sin detenernos a pensar en el significado del arrastre. Para simplificar las restas y reducir la posibilidad de cometer errores hay varias soluciones:
Dividir los números largos en grupos. En el siguiente ejemplo, vemos cómo se divide una resta larga en tres restas cortas: Restamos
100110011101 1001 1001 1101
-010101110010 -0101 -0111 -0010
------------- = ----- ----- -----
010000101011 0100 0010 1011