# data[].attributes.body
Se suman los bits de cada columna, de derecha a izquierda.

Si la suma de dos bits es 1, se escribe 1 y no hay acarreo.

Si la suma de dos bits es 2 (1+1), se escribe 0 y se lleva 1 a la siguiente columna.

ejemplo

1

1101 (13 en decimal)

+

1011 (11 en decimal)

=

11000 (24 en decimal)

2

11011 (27 en decimal)

+

10101 (21 en decimal)

=

110000 (48 en decimal)

# data[].attributes.body
Existen varios métodos para la resta binaria, pero uno común es el complemento a dos.

Para restar un número de otro, se convierte el sustraendo a su complemento a dos y luego se suma al minuendo.

Si hay un acarreo final, se descarta.

ejemplo

1

1101 (13 )

-

1001 (9)

=

0100 13 (4)

2

10010 (18 en decimal) - 01101 (13 en decimal)

1. Complemento a dos de 01101: 10011

2. Suma:

10010

10011

10101

3. Descartamos el acarreo: 0101 (5 en decimal)

# data[].attributes.body
Similar a la multiplicación decimal, se multiplica cada dígito del multiplicador por el multiplicando y luego se suman los resultados parciales, teniendo en cuenta las posiciones.

ejemplo

1

1101 (13 en decimal)

x

1011 (11 en decimal)

1101 11010 00000

+

110100

=

10001111 (287 en decimal)

2

1011 (11 en decimal)

x 1110 (14 en decimal)

0000

1011 10110 +101100

10000110 (134 en decimal)

# data[].attributes.body
Se realiza de manera similar a la división larga en decimal, pero utilizando las reglas de la resta binaria.

ejemplo

1

101 (5 en decimal)
---------------
1101 (13 en decimal) | 1001 (9 en decimal)
 -110
 -----
    1

2

110 (6 en decimal)

11011 (27 en decimal) | 1001 (9 en decimal) -1101

  101
 -110
 -----
   1