La capacidad de convertir números entre diferentes sistemas numéricos es esencial en informática y programación. Este artículo explorará conversiones detalladas entre binario, octal, decimal y hexadecimal, junto con ejemplos prácticos y ejercicios resueltos para una mejor comprensión.
Sistemas Numéricos
Binario (Base 2)
El sistema binario utiliza dos dígitos: 0 y 1. Es la base fundamental de los sistemas digitales y computadoras.
Octal (Base 8)
El sistema octal utiliza los dígitos del 0 al 7. Cada posición representa una potencia de 8, y es útil en informática debido a su relación directa con el sistema binario.
Decimal (Base 10)
El sistema decimal es el más común y utilizado en la vida cotidiana. Emplea los dígitos del 0 al 9, y cada posición 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 con el sistema binario y su capacidad para representar grandes números de manera compacta.
Conversión entre Sistemas Numéricos
Binario a Octal
Para convertir un número binario a octal, agrupe los dígitos binarios en grupos de tres, comenzando desde la derecha, y reemplace cada grupo por su equivalente octal.
Ejemplo: Convertir 101101 (binario) a octal.
- Agrupar en tres: 101 101
- 101 (binario) = 5 (octal)
- 101 (binario) = 5 (octal)
Juntando los resultados, 101101 en binario es 55 en octal.
Binario a Hexadecimal
Para convertir un número binario a hexadecimal, agrupe los dígitos binarios en grupos de cuatro, comenzando desde la derecha, y reemplace cada grupo por su equivalente hexadecimal.
Ejemplo: Convertir 11011101 (binario) a hexadecimal.
- Agrupar en cuatro: 1101 1101
- 1101 (binario) = D (hexadecimal)
- 1101 (binario) = D (hexadecimal)
Juntando los resultados, 11011101 en binario es DD en hexadecimal.
Octal a Decimal
Para convertir un número octal a decimal, multiplique cada dígito del número octal por la potencia de 8 correspondiente a su posición, comenzando desde 0.
Ejemplo: Convertir 745 (octal) a decimal.
- ( 7 \times 8^2 = 7 \times 64 = 448 )
- ( 4 \times 8^1 = 4 \times 8 = 32 )
- ( 5 \times 8^0 = 5 \times 1 = 5 )
Sumando los resultados: ( 448 + 32 + 5 = 485 ). Entonces, 745 en octal es 485 en decimal.
Hexadecimal a Decimal
Para convertir un número hexadecimal a decimal, multiplique cada dígito del número hexadecimal por la potencia de 16 correspondiente a su posición, comenzando desde 0.
Ejemplo: Convertir 1F3 (hexadecimal) a decimal.
- ( 1 \times 16^2 = 1 \times 256 = 256 )
- ( F \times 16^1 = 15 \times 16 = 240 ) (F es 15 en decimal)
- ( 3 \times 16^0 = 3 \times 1 = 3 )
Sumando los resultados: ( 256 + 240 + 3 = 499 ). Entonces, 1F3 en hexadecimal es 499 en decimal.
Decimal a Hexadecimal
Para convertir un número decimal a hexadecimal, divida el número decimal repetidamente entre 16 y anote los restos. Luego, lea los restos en orden inverso, utilizando las letras A-F para los valores del 10 al 15.
Ejemplo: Convertir 499 (decimal) a hexadecimal.
- 499 ÷ 16 = 31 con residuo 3
- 31 ÷ 16 = 1 con residuo 15 (F en hexadecimal)
- 1 ÷ 16 = 0 con residuo 1
Leyendo los residuos de abajo hacia arriba, 499 en decimal es 1F3 en hexadecimal.
Hexadecimal a Octal
Para convertir un número hexadecimal a octal, primero convierta el número hexadecimal a binario y luego el binario a octal.
Ejemplo: Convertir 3A6 (hexadecimal) a octal.
- Convertir a binario:
- 3 (hexadecimal) = 0011 (binario)
- A (hexadecimal) = 1010 (binario)
- 6 (hexadecimal) = 0110 (binario) Juntando los resultados, 3A6 en hexadecimal es 001110100110 en binario.
- Convertir a octal:
- Agrupar en tres: 000 111 010 110
- 000 (binario) = 0 (octal)
- 111 (binario) = 7 (octal)
- 010 (binario) = 2 (octal)
- 110 (binario) = 6 (octal)
Juntando los resultados, 001110100110 en binario es 0726 en octal. Entonces, 3A6 en hexadecimal es 726 en octal.
Ejercicios Resueltos
Ejercicio 1: Convertir 1010110101 (binario) a octal.
- Agrupar en tres: 1 010 110 101
- 1 (binario) = 001 (binario) = 1 (octal)
- 010 (binario) = 2 (octal)
- 110 (binario) = 6 (octal)
- 101 (binario) = 5 (octal)
Juntando los resultados, 1010110101 en binario es 1265 en octal.
Ejercicio 2: Convertir B7F (hexadecimal) a binario.
- B (hexadecimal) = 1011 (binario)
- 7 (hexadecimal) = 0111 (binario)
- F (hexadecimal) = 1111 (binario)
Juntando los resultados, B7F en hexadecimal es 101101111111 en binario.
Ejercicio 3: Convertir 745 (octal) a hexadecimal.
- Convertir a binario:
- 7 (octal) = 111 (binario)
- 4 (octal) = 100 (binario)
- 5 (octal) = 101 (binario) Juntando los resultados, 745 en octal es 111100101 en binario.
- Convertir a hexadecimal:
- Agrupar en cuatro: 0011 1100 101
- Añadir ceros a la izquierda para completar grupo de cuatro: 0011 1100 1010
- 0011 (binario) = 3 (hexadecimal)
- 1100 (binario) = C (hexadecimal)
- 1010 (binario) = A (hexadecimal)
Juntando los resultados, 111100101 en binario es 3CA en hexadecimal. Entonces, 745 en octal es 3CA en hexadecimal.
Conclusión
Comprender y manejar conversiones entre sistemas numéricos binario, octal, decimal y hexadecimal es crucial en la informática. Los ejemplos y ejercicios resueltos aquí presentados ayudan a consolidar estos conceptos y a aplicarlos en diversas situaciones técnicas. Practicar con más ejemplos fortalece estas habilidades, incrementando la eficiencia en el manejo de datos numéricos en diferentes bases.