En informática, la habilidad de convertir números entre diferentes sistemas numéricos es esencial. Este artículo cubre conversiones más avanzadas entre los sistemas binario, octal, decimal y hexadecimal, junto con ejercicios resueltos para una mejor comprensión.
Sistemas Numéricos
Binario (Base 2)
El sistema binario utiliza solo dos dígitos: 0 y 1. Es fundamental en la informática, ya que los sistemas digitales operan internamente en binario.
Octal (Base 8)
El sistema octal utiliza los dígitos del 0 al 7. Cada posición en un número octal representa una potencia de 8, facilitando la conversión desde y hacia binario.
Decimal (Base 10)
El sistema decimal es el más común y se utiliza en la vida cotidiana. Emplea los dígitos del 0 al 9, y cada posición en un número decimal representa una potencia de 10.
Hexadecimal (Base 16)
El sistema hexadecimal utiliza los dígitos del 0 al 9 y las letras A, B, C, D, E y F para representar los valores del 10 al 15. Es útil en informática debido a su relación directa con el sistema binario.
Conversión entre Sistemas Numéricos
Binario a Octal
Para convertir un número binario a octal, se agrupan los dígitos binarios en grupos de tres, comenzando desde la derecha, y se reemplaza cada grupo por su equivalente octal.
Ejemplo: Convertir 1101101 (binario) a octal.
- Agrupar en tres: 1 101 101
- 1 (binario) = 001 (binario) = 1 (octal)
- 101 (binario) = 5 (octal)
- 101 (binario) = 5 (octal)
Juntando los resultados, 1101101 en binario es 155 en octal.
Binario a Hexadecimal
Para convertir un número binario a hexadecimal, se agrupan los dígitos binarios en grupos de cuatro, comenzando desde la derecha, y se reemplaza cada grupo por su equivalente hexadecimal.
Ejemplo: Convertir 1101101 (binario) a hexadecimal.
- Agrupar en cuatro: 0110 1101
- 0110 (binario) = 6 (hexadecimal)
- 1101 (binario) = D (hexadecimal)
Juntando los resultados, 1101101 en binario es 6D en hexadecimal.
Octal a Decimal
Para convertir un número octal a decimal, se multiplica cada dígito del número octal por la potencia de 8 correspondiente a su posición, empezando desde 0.
Ejemplo: Convertir 157 (octal) a decimal.
- ( 1 \times 8^2 = 1 \times 64 = 64 )
- ( 5 \times 8^1 = 5 \times 8 = 40 )
- ( 7 \times 8^0 = 7 \times 1 = 7 )
Sumando los resultados: ( 64 + 40 + 7 = 111 ). Entonces, 157 en octal es 111 en decimal.
Hexadecimal a Decimal
Para convertir un número hexadecimal a decimal, se multiplica cada dígito del número hexadecimal por la potencia de 16 correspondiente a su posición, empezando desde 0.
Ejemplo: Convertir 2A3 (hexadecimal) a decimal.
- ( 2 \times 16^2 = 2 \times 256 = 512 )
- ( A \times 16^1 = 10 \times 16 = 160 ) (A es 10 en decimal)
- ( 3 \times 16^0 = 3 \times 1 = 3 )
Sumando los resultados: ( 512 + 160 + 3 = 675 ). Entonces, 2A3 en hexadecimal es 675 en decimal.
Decimal a Hexadecimal
Para convertir un número decimal a hexadecimal, se divide el número decimal repetidamente entre 16 y se anotan los restos. Luego, se leen los restos en orden inverso, utilizando las letras A-F para los valores del 10 al 15.
Ejemplo: Convertir 675 (decimal) a hexadecimal.
- 675 ÷ 16 = 42 con residuo 3
- 42 ÷ 16 = 2 con residuo 10 (A en hexadecimal)
- 2 ÷ 16 = 0 con residuo 2
Leyendo los residuos de abajo hacia arriba, 675 en decimal es 2A3 en hexadecimal.
Hexadecimal a Octal
Para convertir un número hexadecimal a octal, primero se convierte el número hexadecimal a binario y luego el binario a octal.
Ejemplo: Convertir 3B4 (hexadecimal) a octal.
- Convertir a binario:
- 3 (hexadecimal) = 0011 (binario)
- B (hexadecimal) = 1011 (binario)
- 4 (hexadecimal) = 0100 (binario) Juntando los resultados, 3B4 en hexadecimal es 001110110100 en binario.
- Convertir a octal:
- Agrupar en tres: 000 111 011 100
- 000 (binario) = 0 (octal)
- 111 (binario) = 7 (octal)
- 011 (binario) = 3 (octal)
- 100 (binario) = 4 (octal)
Juntando los resultados, 001110110100 en binario es 0734 en octal. Entonces, 3B4 en hexadecimal es 734 en octal.
Ejercicios Resueltos
Ejercicio 1: Convertir 110101011 (binario) a octal.
- Agrupar en tres: 110 101 011
- 110 (binario) = 6 (octal)
- 101 (binario) = 5 (octal)
- 011 (binario) = 3 (octal)
Juntando los resultados, 110101011 en binario es 653 en octal.
Ejercicio 2: Convertir 1F7 (hexadecimal) a binario.
- 1 (hexadecimal) = 0001 (binario)
- F (hexadecimal) = 1111 (binario)
- 7 (hexadecimal) = 0111 (binario)
Juntando los resultados, 1F7 en hexadecimal es 000111110111 en binario.
Ejercicio 3: Convertir 645 (octal) a hexadecimal.
- Convertir a binario:
- 6 (octal) = 110 (binario)
- 4 (octal) = 100 (binario)
- 5 (octal) = 101 (binario) Juntando los resultados, 645 en octal es 110100101 en binario.
- Convertir a hexadecimal:
- Agrupar en cuatro: 1101 0010 1
- Añadir ceros a la izquierda para completar grupo de cuatro: 0110 1001 01
- 0110 (binario) = 6 (hexadecimal)
- 1001 (binario) = 9 (hexadecimal)
- 0100 (binario) = 4 (hexadecimal)
Juntando los resultados, 110100101 en binario es 691 en hexadecimal. Entonces, 645 en octal es 1A5 en hexadecimal.
Conclusión
Las conversiones avanzadas entre los sistemas numéricos binario, octal, decimal y hexadecimal son esenciales en la informática. Los ejemplos y ejercicios resueltos presentados ayudan a consolidar estos conceptos y a aplicarlos en diversas situaciones técnicas. Practicar con más ejemplos ayudará a fortalecer estas habilidades y aumentar la eficiencia en el manejo de datos numéricos en diferentes bases.