miércoles, 13 de noviembre de 2019

Cambios de base - tutorial 2/2 - octal y hexadecimal (a decimal, binario, octal y hexadecimal)

Buenas a todos de nuevo.

Esta es la segunda parte del tutorial de cambios de base. Hoy toca ver las bases octal y hexadecimal.

Hay diferentes maneras de cambiar las bases, yo voy a explicar las que yo sé y lo mejor que pueda y si alguna no se entiende por favor ponedme un comentario y lo intento explicar con otras palabras.

Sin más, ¡empecemos!



Base Octal

De octal a decimal
Si de decimal a octal había que ir dividiendo el número entre 8, para hacerla a la inversa es como bien podéis deducir, es multiplicando.

Tenemos por ejemplo el número 575 en base 8. Para convertirlo en base 10 tenemos que multiplicar cada dígito por 8 elevado a la potencia de su posición la cual se cuenta de derecha a izquierda.

sería algo así:


5x8^2 + 7x8^1 + 5x8^0
5x64 + 7x8 + 5x1
320 + 56 + 5 = 381


El número 575  en base octal es 381 en base decimal.


  • De octal a binario

Voy a usar el 777 (el número más alto en base 8 es el 7 recordad, si el número fuese 958 no sería en base 8). Ahora, al 777 voy a convertir cada 7 en su equivalente en binario.


Para convertirlo en binario simplemente es usando las potencias de éste que van de derecha a izquierda tal que así:


Vas eligiendo entonces, el número que más se acerque en este caso al 7. Como a partir de 8 nos pasamos entonces pondríamos un 1 en la posición del 4 y luego tendríamos que seguir intentando sumar hasta que lleguemos al 7. Por lo tanto marcaríamos también el 2 con otro 1 porque 4+2 son 6 y aún no llegamos y luego marcaríamos el 1 porque 6+1 son 7.

El número 777 en base octal es 111 111 111 en binario.

  • De octal a hexadecimal
Quizás haya más formas pero a mi me resulta muchísimo más cómoda la que voy a mostrar ahora.

vamos a reutilizar el caso anterior y a utilizar el 777 en base octal y que hemos convertido en binario que es 111111111.

Ahora, de derecha a izquierda (como siempre) vamos a agrupar el número binario en grupos de 4 como ya explicamos en el tutorial 1. Es decir, seria así:


Como observáis el tercer grupo se me quedaba corto y por tanto se rellena con 0 al inicio para completar el grupo de 4 dígitos


El número 777 en octal es 1FF en hexadecimal.


Base Hexadecimal


  • De hexadecimal a decimal
Es exactamente igual que en octal pero en vez de multiplicar por 8 elevado a la potencia según su posición de derecha a izquierda se hace multiplicando por 16.

Tenemos por ejemplo el número 9BE en hexadecimal, así que sería:


9x16^2 + Bx16^1+ Ex16^0
9x256 + B(11)x16 + E(14)x1
2304 + 176 + 14 = 2494


El número 9BE en hexadecimal es 2494 en decimal


  • De hexadecimal a binario
También es igual que en octal pero en vez de grupos de 3 son grupos de 4 dígitos.

Por ejemplo vamos a usar el número FFF.

Haríamos como en octal, poner las potencias del binario de derecha a izquierda.


Entonces, marcaríamos los números que sin pasarse se acerquen a F que es 15.
la potencia 16 nos pasamos por tanto marcaríamos un 1 en el 8. Tenemos que seguir sumando la siguiente que seria 4+8=12 que tampoco llegamos a 15 así que marcaríamos también el 2 y serían 12+2 = 14 que tampoco llegamos así que marcaríamos también el 1 y ya 14+1 = 15. Ya habríamos llegado.

Por tanto quedaría 8,4,2 y 1 marcados con un 1, ergo 1111. Y así con cada dígito o en este caso con cada F. Por lo tanto:

FFF en hexadecimal sería 1111 1111 1111 en binario

  • De hexadecimal a octal
Voy a reciclar de nuevo el número FFF que ya hemos traducido al binario. Ahora tenemos que hacer el paso inverso que hicimos de octal a hexadecimal, es decir, ahora en vez de grupos de 4 dígitos, los haremos de 3 y traduciríamos el resultado a su equivalente en decimal.


FFF en hexadecimal sería 7777 en octal


¡Y no hay más na compañeros! espero que no os resulten muy tediosas las explicaciones y se entienda todo a la perfección. No obstante os dejo también este conversor online para que vayáis comprobando y practicando por vuestra cuenta.

Sin más, nos vemos en siguientes entradas.

¡Un saludo!

No hay comentarios:

Publicar un comentario