El complemento a 1 y el complemento a 2 son formas de representar números negativos en binario. Son ampliamente utilizados en informática para simplificar cálculos aritméticos en sistemas digitales. En este artículo te explico qué son, cómo funcionan y cómo resolver ejercicios de manera clara.
¿Qué es el Complemento a 1?
El complemento a 1 se obtiene invirtiendo los bits de un número binario. Esto significa que cada 0 se convierte en 1 y cada 1 se convierte en 0.
Cómo calcular el complemento a 1:
- Escribe el número en binario.
- Cambia cada 1 por 0 y cada 0 por 1.
Ejemplo:
Convertir el número 45 a complemento a 1 usando 8 bits:
- Escribe el binario de 45:
00101101
. - Cambia los bits:
- Complemento a 1:
11010010
.
- Complemento a 1:
¿Qué es el Complemento a 2?
El complemento a 2 se utiliza para representar números negativos y facilitar operaciones binarias. Para obtener el complemento a 2, primero se calcula el complemento a 1 y luego se suma 1 al resultado.
Cómo calcular el complemento a 2:
- Encuentra el complemento a 1 del número binario.
- Suma 1 al complemento a 1.
Ejemplo:
Convertir el número 45 a complemento a 2 usando 8 bits:
- Complemento a 1:
11010010
. - Suma 1:
11010010 + 1 -------- 11010011
- Resultado:
11010011
.
Conversión de Binario a Decimal usando Complemento a 2
Para convertir un número binario en complemento a 2 al sistema decimal:
- Verifica si el número es positivo o negativo según el bit más significativo (el de la izquierda):
- Si es 0, el número es positivo.
- Si es 1, el número es negativo.
- Si el número es positivo, conviértelo a decimal directamente.
- Si el número es negativo:
- Calcula su complemento a 2 (para obtener el valor absoluto en decimal).
- Agrega un signo negativo al resultado.
Ejemplo:
Convertir el número binario 11010110
(8 bits) a decimal:
- El bit más significativo es 1, por lo que el número es negativo.
- Encuentra el complemento a 2 para obtener el valor absoluto:
- Complemento a 1:
00101001
. - Suma 1:
00101001 + 1 -------- 00101010
- Resultado en decimal:
42
.
- Complemento a 1:
- Como el número es negativo: -42.
Conversión de Decimal a Binario usando Complemento a 2
Para convertir un número decimal a binario en complemento a 2:
- Si el número es positivo:
- Convierte a binario normal y ajusta a 8 bits rellenando con ceros a la izquierda.
- Si el número es negativo:
- Convierte el valor absoluto a binario.
- Calcula el complemento a 1.
- Suma 1 al complemento a 1.
Ejemplo:
Convertir el número -20
a complemento a 2 con 8 bits:
- Valor absoluto de
20
:00010100
. - Complemento a 1:
11101011
. - Suma 1:
11101011 + 1 -------- 11101100
- Resultado:
11101100
.
Resolviendo Ejercicios
Ejercicio 1: Complemento a 1 y a 2 de -45
- Valor absoluto:
45 = 00101101
. - Complemento a 1:
11010010
. - Complemento a 2:
11010010 + 1 -------- 11010011
Resultado:11010011
.
Ejercicio 2: Complemento a 1 y a 2 de -20
- Valor absoluto:
20 = 00010100
. - Complemento a 1:
11101011
. - Complemento a 2:
11101011 + 1 -------- 11101100
Resultado:11101100
.
Ejercicio 3: Convertir binarios a decimal usando complemento a 2
a) 11010110
:
- Es negativo (bit más significativo = 1).
- Complemento a 2:
00101001 + 1 -------- 00101010
Valor absoluto:42
. - Resultado: -42.
b) 01110101
:
- Es positivo (bit más significativo = 0).
- Resultado: 117.
c) 11111010
:
- Es negativo (bit más significativo = 1).
- Complemento a 2:
00000101 + 1 -------- 00000110
Valor absoluto:6
. - Resultado: -6.
Ejercicio 4: Convertir decimal a binario en complemento a 2
a) -14
:
- Valor absoluto:
00001110
. - Complemento a 1:
11110001
. - Complemento a 2:
11110001 + 1 -------- 11110010
- Resultado:
11110010
.
b) -53
:
- Valor absoluto:
00110101
. - Complemento a 1:
11001010
. - Complemento a 2:
11001010 + 1 -------- 11001011
- Resultado:
11001011
.
c) 27
:
- Positivo, binario normal:
00011011
. - Resultado:
00011011
.
Conclusión
El complemento a 1 y complemento a 2 son herramientas fundamentales para representar números negativos y realizar operaciones aritméticas en binario. Con estos pasos claros, puedes resolver ejercicios de manera eficiente. ¡Ponte a practicar!