martes, 12 de noviembre de 2019

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

Hoy la entrada va a ir dedicada a uno de los temas más comunes en toda enseñanza de informática.

Los cambios de base.

Tanto en grado Medio como en el Superior nos van a requerir saber cambiar entre los distintos tipos de base lo cual la entrada de hoy va dedicada a aprender a pasar de una base a otra.

Las bases que vamos a estudiar son binario, octal , decimal y hexadecimal, obviamente no son las únicas bases que hay, pero las que se nos exigen aprender son principalmente estas.

Sin mas rollos, empecemos.

De decimal a:  
  • De decimal a binario: 

Consiste simplemente en dividir entre 2 el número que deseamos convertir tantas veces como nos sea posible. Si por ejemplo tenemos el número 6 sería:

6 dividido entre 2: cociente 3 y resto 0
3 dividido entre 2: cociente 1 y resto 1


Ahora tendríamos que coger de derecha a izquierda el cociente y todos los restos, es decir el 1 el 1 y el 0.

1 1 0 sería en binario el 6 en decimal.

  • De decimal a octal:
Es exactamente el mismo mecanismo que el binario pero dividiendo entre 8. Por ejemplo el número 400 seria:

400 dividido entre 8: cociente 50 y resto 0
50 dividido entre 8: cociente 6 y resto 2


De igual forma que en binario cogeriamos de derecha a izquierda el cociente y los restos, es decir, el 6 el 2 y el 0.

620 sería en octal el 400 en decimal.

  • De decimal a hexadecimal:
Como habréis podido deducir ya, es exactamente igual que el binario y el octal, pero en vez de 2 u 8 es entre 16. Por ejemplo el número 842 sería:

842 dividido entre 16: cociente 52 y resto 10
52 dividido entre 16: cociente 3 y resto 4



¡¡PERO!!

Tenemos que recordar que:

El binario comprende unicamente 0 y 1
El octal comprende desde el 0 hasta el 7
El decimal comprende como ya sabéis del 0 al 9
Pero el hexadecimal, comprende desde el 0 al 9 y a partir de aquí, hasta 15 se va contando con letras. Es decir, el 10=A, 11=B, 12=C, 13=D, 14=E y 15=F.

Por tanto el resultado cogiendo el cociente de más a la derecha y luego los restos, sería el 3 el 4 y una A.

34A sería en hexadecimal el 842 en decimal.



De binario a:

  • De binario a decimal:
Consiste simplemente de elevar a la potencia el dígito en binario según su posición de derecha a izquierda y después sumar los resultados. Por ejemplo el número 101100.

Sería 0x1 + 0x2 + 1x4 + 1x8 + 0x16 + 1x32.


Podemos ignorar completamente los 0 porque un número multiplicado por 0 es 0. Así que entonces tendríamos que sumar 32+8+4 que sería 44.

101100 seria en binario el 44 en decimal.

  • De binario a octal:
Aquí cambia ya la película pero igualmente es bastante sencillo. Para pasar de un número binario a octal tenemos que hacer agrupaciones de 3 dígitos partiendo como siempre desde la derecha hacia la izquierda. Si por casualidad el último grupo faltase un dígito es simplemente añadir un 0. 

Una vez hemos hecho los grupos , tenemos que hacer como si pasásemos esos grupos de 3 dígitos a decimal. Veamos el ejemplo 11101111.


El primer grupo de 3 dígitos traducido del binario al decimal seria 7, el segundo 5 y el tercero 3. Como podéis comprobar, al hacer grupos de 3 en 3 desde la derecha a la izquierda me faltaba un dígito en el tercer grupo así que como ya dije se rellena con un 0.

Los dígitos de 3 en 3 se cogen de derecha a izquierda repito, pero el resultado es tal cual aparece, por tanto:

11101111 seria en binario el 357 en octal.

  • De binario a hexadecimal:
Sabiendo ya pasar de binario a octal esto os va a resultar ya muy fácil. La única característica diferenciadora entre este y el anterior es que como ya sabéis a partir del 9 los números van de la A a la F y que en vez de grupos de 3 de derecha a izquierda ahora son grupos de 4. Veamos el caso de 1110001110001010.



Al igual que el octal, los dígitos se agrupan de derecha a izquierda pero el resultado es también tal cual aparece. Así que:

1110001110001010 es en binario el E38A en hexadecimal.


Por hoy lo dejo por aquí amigos. Estoy intentando pensar en dudas que os podrían surgir de no haber hecho nunca cambios de base y quizás los mas liosos sean de binario a octal y a hexadecimal por aquello de los grupos. 

Sólo tenéis que hacer en caso del octal grupos de 3 de derecha a izquierda y en el caso de hexadecimal de 4 de derecha a izquierda igualmente. Aquí han salido 3 grupos y 4 grupos pero porque se ha dado el caso de ello, si en ambos caso el número hubiese sido 110101011011011011010101101111101 hubiese sido en octal 110  101  011  011  011  011  010  101  101  111  101 y en hexadecimal 0001  1010  1011  0110  1101  1010  1011  0111  1101 que como podréis comprobar por los colores tuve que añadir tres ceros para completar el grupo.

Pero vamos, yo os sugiero practicar mucho.

Y sin más por hoy me despido, pronto traeré la parte 2 de este tutorial que será cambios de base desde octal a otras bases y de hexadecimal a otras bases.

¡Nos vemos!

No hay comentarios:

Publicar un comentario