Complemento A1 y A2

Complemento a 1 y 2 de números binarios 

El complemento a 1 y a 2 de un número binario son importantes porque permiten la representación de números negativos.
El método de complemento a 2 en aritmética es comúnmente usada en computadoras para manipular números negativos.

Obteniendo el complemento a 1 de un numero binario
El complemento a 1 de un numero binario es encontrado simplemente cambiando todos los 1s por 0s y todos los 0s por 1s.

Ejemplo:

Número binario = (1010110)2 = (86)10
Complemento a uno = (0101001)2 = ( − 87)10

Como alternativa para representar números negativos puede usarse un sistema conocido como complemento a uno. La forma del complemento a uno de un número binario es un NOT bit a bit aplicado al número – Recordemos que el complemento a uno de un número positivo no sufre ningún cambio ( C1(2)= 00000010 C1(-2)= 11111101). Como en la representación de signo-y-magnitud, el complemento a uno tendrá dos representaciones del 0: 00000000 (+0) y 11111111 (−0). Como ejemplo, el complemento a uno de 0101011 (43) se convierten en 1010100 (−43). El rango para la representación en complemento a uno con 8 bits es −127 a +127 (en base 10). Para sumar dos números representados en este sistema, uno hace una suma binaria convencional, pero es necesario sumar el último acarreo obtenido al resultado de la suma.

Ejemplo:
Para ver porqué esto es necesario, consideramos el caso de la suma de −1 (11111110) a +2 (00000010). ¡La adición binaria solamente da a 00000000, que no es la respuesta correcta! Solamente cuando se suma el acarreo al resultado obtenemos el resultado correcto (00000001).

 11111110
 + 00000010
     00000000
+                 1 
     00000001

Obteniendo el complemento a 2 de un numero binario

El complemento a 2 de un numero binario es encontrado sumando 1 al bit menos significativo de el complemento a 1 del numero.

Ejemplo:

Encontrar el complemento a 2 de 10110010
Complemento a 1 => 01001101
01001101
+            1 
01001110

Una forma fácil de implementar el complemento a dos es la siguiente:

                                                                                                       Ejemplo 1 Ejemplo 2
Empezando desde la derecha encontramos el primer '1'                 0101001 0101100
2. Hacemos un NOT a todos los bits que quedan por la izquierda 1010111 1010100


Fuente: https://pvjl.pbworks.com/f/complemento%20a%202.pdf

Comentarios