Requisito previo: representación de números binarios negativos
El complemento a 1 de un número binario es otro número binario obtenido alternando todos los bits en él, es decir, transformando el bit 0 en 1 y el bit 1 en 0. Ejemplos:
Let numbers be stored using 4 bits 1's complement of 7 (0111) is 8 (1000) 1's complement of 12 (1100) is 3 (0011)
El complemento a 2 de un número binario es 1 sumado al complemento a 1 del número binario. Ejemplos:
Let numbers be stored using 4 bits 2's complement of 7 (0111) is 9 (1001) 2's complement of 12 (1100) is 4 (0100)
Estas representaciones se utilizan para números con signo.
La principal diferencia entre el complemento a 1 y el complemento a 2 es que el complemento a 1 tiene dos representaciones de 0 (cero): 00000000, que es cero positivo (+0), y 11111111, que es cero negativo (-0). ; mientras que en el complemento a 2, solo hay una representación para cero: 00000000 (0) porque si sumamos 1 a 11111111 (-1), obtenemos 100000000, que tiene una longitud de nueve bits. Dado que solo se permiten ocho bits, el bit más a la izquierda se descarta (o se desborda), dejando 00000000 (-0), que es lo mismo que un cero positivo. Esta es la razón por la que generalmente se usa el complemento a 2.
Otra diferencia es que mientras sumamos números usando el complemento de 1, primero hacemos una suma binaria, luego agregamos un valor de acarreo final. Pero, el complemento a 2 tiene solo un valor para cero y no requiere valores de acarreo.
El rango del complemento a 1 para n bits es de -2 n-1 -1 a 2 n-1 -1, mientras que el rango del complemento a 2 para n bits es de -2 n-1 a 2 n-1 -1.
Hay 2 n-1 números válidos en complemento a 1 y 2 n números válidos en complemento a 2.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA