Se obtiene al cambiar cada uno de los dígitos de un número binario por su complementario, esto es, cambiar los unos por ceros y los ceros por unos.
11002 ->12 SU COMPLEMENTO A 1, SERIA: 00112
COMPLEMENTO A 2:
El complemento a 2 de un número binario se obtiene tomando el complemento a 1, y sumándole 1 al bit menos significativo. A continuación se ilustra este proceso para el número 1101 = 13
Existe una manera abreviada y es coger el número binario y se procede a realizar la negación de cada bit dejando siempre el primer 1 (uno), que se encuentre de derecha a izquierda igual.
Ejemplo:
10011012à77; ahora para encontrar su complemento a 2 se aplica lo que se menciono anteriormente y quedaría de la siguiente forma:
EXTENSIÓN DEL SIGNO
La extensión de signo se utiliza porque los sistemas digitales utilizan tamaños fijos de almacenamiento como son 4, 8,16 y 32 bits dichos espacios no pueden quedar vacios.
Valores con números de 8 bits | Valor del complemento a dos | Valor sin signo |
00000000 | 0 | 0 |
00000001 | 1 | 1 |
... | ... | ... |
01111110 | 126 | 126 |
01111111 | 127 | 127 |
10000000 | −128 | 128 |
10000001 | −127 | 129 |
10000010 | −126 | 130 |
... | ... | ... |
11111110 | −2 | 254 |
11111111 | −1 | 255 |
Representar el signo de un número podría consistir en asignar un bit para representar el signo, poner ese bit (a menudo el bit más significativo) a 0 para un número positivo, y a 1 para un número negativo; los bits restantes en el número indican la magnitud.
En el complemento a dos, los números negativos se representan mediante el patrón de bits que es un bit mayor (sin signo) que el complemento a uno del valor positivo.
En el complemento a dos, hay un solo cero (00000000). Para negar un número (negativo o positivo) invertimos todos los bits y añadimos un 1 al resultado.
Decimal Entero positivo Signo y magnitud Complemento a 1 Complemento a 2 BCD- exceso 7 +8 1000 n/a n/a n/a 1111 +7 0111 0111 0111 0111 1110 +6 0110 0110 0110 0110 1101 +5 0101 0101 0101 0101 1100 +4 0100 0100 0100 0100 1011 +3 0011 0011 0011 0011 1010 +2 0010 0010 0010 0010 1001 +1 0001 0001 0001 0001 1000 (+)0 0000 0000 0000 0000 0111 (−)0 n/a 1000 1111 n/a n/a −1 n/a 1001 1110 1111 0110 −2 n/a 1010 1101 1110 0101 −3 n/a 1011 1100 1101 0100 −4 n/a 1100 1011 1100 0011 −5 n/a 1101 1010 1011 0010 −6 n/a 1110 1001 1010 0001 −7 n/a 1111 1000 1001 0000 −8 n/a n/a n/a 1000 n/a