¿Cómo sumas y restas en binario?

Exactamente igual que en decimal, solo que la tabla es mucho más simple:

Adición:

0 + 0 = 0
1 + 0 = 1
0 + 1 = 1
1 + 1 = 10

Si el número es mayor que 1, usted lleva, tal como lo hace en aritmética decimal. Entonces:

  101111
 +01010
 ------
 111001

Desde la derecha 1 + 0 = 1.
1 + 1 = 10, entonces escribes el 0 y llevas el 1
1 + 0 + 1 (el acarreo) = 10, entonces escribe 0 y lleva el 1
1 + 1 + 1 = 11, así que escribe 1 y lleva el 1
0 + 0 + 1 = 1
1 = 1
Entonces, obtienes 111001

De nuevo, la resta es la misma que para el decimal. Cuando el número superior es más pequeño que el número inferior, “toma prestado” de la izquierda. Lo que pides prestado sigue siendo “10”, solo que ahora es un 10 binario (también conocido como 2 en decimal).

  111001
 -01010
 ------
 101111

Nuevamente, comenzando desde la derecha: 1-0 = 1
Para hacer 0-1 pides prestado 10. 10-1 = 1
La siguiente columna es -1 (el préstamo) + 0-0. Todavía no tenemos suficiente, así que volvemos a pedir prestado, y ahora es -1 + 0-0 + 10 = 1.
-1 (pedir prestado) + 1-1 = -1 … aún más préstamos, por lo que agregamos +10 y obtenemos 1.
-1 (pedir prestado) + 1-0 = 0
1-0 = 1

Sencillo. Tedioso, pero simple.

¡Hay muchas maneras! ¿De qué manera quieres hacerlo?

¿Solo quieres hacer aritmética en la base 2 de la misma manera que en la base 10? Esto es ciertamente posible y, de hecho, probablemente ya sepa cómo hacerlo.

Por ejemplo, para restar 36 de 99 en la base 2, simplemente use el mismo método que aprendió para los números de base 10 en la escuela.

Solo recuerde que 0-0 y 1-1 son 0, mientras que 1-0 y 10-1 son 1.

¿Quieres restar números binarios como lo hace una computadora moderna? Bueno, la verdad es que las computadoras modernas, a nivel de hardware, realmente no saben cómo restar. No encontrará un circuito de resta en una APU. No está allí, porque no es necesario. Puede encontrar algunos de estos:

Definitivamente encontrarás alguna forma de sumador. Múltiples sumadores diferentes, de hecho. Sin sustractores.

Esto se debe a que el sumador puede realizar la resta si se establece el bit de arrastre y el sustraendo se invierte lógicamente antes de pasarlo. Una no puerta para cada bit lo hará. Aquí está la resta anterior realizada usando la suma:

Bueno, puedes hacerlo usando el método familiar de la escuela, siempre y cuando te asegures de que los puntos (los puntos binarios, supongo, aunque los puntos hemiales suenen mejor …) en cada número estén correctamente alineados. Esto es bastante fácil, pero, de nuevo, no es lo que haría una FPU de hardware.

Si desea conocer los conceptos básicos de cómo una computadora resta números de coma flotante, vea esa respuesta: ¿Cómo restar números IEEE 754?

Si desea saber por qué funciona el método de suma y resta de complemento a dos, aquí hay muchos ejemplos: ¿Cuál es la intuición detrás del complemento a dos?

Aquí hay algunas respuestas realmente complicadas que son muy buenas. Para una vista completamente simplista, convierta el número binario en un decimal, haga sus cálculos (sin limitarse a la suma y la resta) y convierta la respuesta nuevamente en binario.