Capítulo 2: Componentes lógicos: Representación de la información

Publicado por P. Ruiz en

Cambio de base

Convertir valores binarios a decimal

En Informática el Teorema fundamental de la numeración tiene aprovechamiento inmediato, ya que nos permite convertir un número representado en binario a decimal de una forma muy sencilla.

El truco está en escribir en decimal la expresión posicional del número en binario. De esta forma, al resolverla, obtendremos el resultado en decimal.

Veamos un ejemplo: Ejemplo binario a decimal

Observa que, si un número en binario acaba en cero, podremos asegurar que su conversión a decimal arrojará un valor par y, por el contrario, cuando acabe en 1, será impar.

Binario a decimal con decimales

En realidad, no hay diferencia en convertir un número de binario a decimal con parte decimal o sin ella. Para lograrlo, basta con aplicar el Teorema fundamental de la numeración del modo que hemos visto más arriba.

Lo comprobaremos suponiendo que el número anterior hubiese tenido parte decimal. Por ejemplo: 11011100,01101(2

Para convertirlo a decimal, realizaríamos las siguientes operaciones:

Ejemplo binario a decimal con decimales

Actividad 2: Cambio de base del sistema de numeración binario al decimal

Realiza las operaciones necesarias para completar la siguiente tabla:

Ejercicio binario a decimal

Convertir valores decimales a binarios

Cuando necesitemos realizar la conversión en sentido contrario, podemos aplicar el método de las divisiones sucesivas.

Básicamente, este método consiste en realizar una división entera (es decir, sin obtener decimales) del número en decimal entre dos (la base a la que vamos a convertir). Una vez concluida la división, tomamos el cociente y volvemos a dividirlo entre dos. Así continuamos hasta que obtengamos un cociente igual a cero. En este punto, tomamos los restos de todas las divisiones en orden inverso a como han ido apareciendo (es decir, el último resto será el primero).

Como ejemplo, veamos la misma conversión del punto anterior, pero en el sentido contrario:

Convertir decimal a binario

Decimal a binario con decimales

A veces, el número en base 10 que deseamos convertir a binario tiene una parte decimal.

En estos casos, convertiremos la parte entera siguiendo la explicación anterior y, a continuación, realizaremos la conversión de la parte decimal según las siguientes pautas:

  1. Multiplicamos la parte decimal por 2
  2. Separamos la parte entera del resultado
  3. Con la parte decimal resultante volvemos al primer paso.
  4. Repetimos el proceso hasta que no nos quede parte decimal.

Al final, la parte decimal estará formada por los números enteros que hemos ido obteniendo en cada operación, colocados en el mismo orden que han aparecido.

Para entenderlo, pongamos como ejemplo el caso anterior: Convertir a binario en número decimal 220,40625(10.

Comenzaríamos obteniendo la parte entera y, como hemos visto más arriba, el resultado sería:

220(10 = 11011100(2.

A continuación, nos centramos en la parte decimal (0,40625) y aplicamos el proceso anterior:

Ejemplo binario a decimal con decimales

Por lo tanto, la parte decimal sería 0,01101(2. Y sumando la parte entera con la parte decimal: 11011100,01101(2

Actividad 3: Cambio de base del sistema de numeración decimal a binario

Realiza las operaciones necesarias para completar la siguiente tabla:

Ejercicio decimal a binario

Los sistemas de numeración octal y hexadecimal

Una de las dificultades que plantea el trabajo con números binarios es la cantidad de dígitos que empleamos para representar cantidades relativamente pequeñas (en el ejemplo anterior hemos necesitado 8 dígitos binarios para representar el mismo valor que en decimal representamos con tres).

Por este motivo, en lugar de trabajar directamente en binario, es frecuente utilizar otros sistemas de numeración que empleen un mayor número de símbolos.

Podríamos pensar que el sistema de numeración perfecto para este trabajo es el decimal, porque es al que estamos más acostumbrados. Sin embargo, los sistemas de numeración cuya base es una potencia de 2 tienen una ventaja añadida: la conversión entre ellos es automática.

Este es el motivo por el que suelen utilizarse los sistemas de numeración octal y hexadecimal.

A modo de ejemplo, en sistemas como GNU/Linux suele utilizarse el sistema de numeración octal para representar los permisos de acceso a archivos y directorios.

Por su parte, el hexadecimal se utiliza de forma generalizada para representar colores en la web, para expresar direcciones IPv6 o para las direcciones MAC de los dispositivos de red..

Una dirección MAC (del inglés, Media Access Control) es un identificador formado por 6 bloques de 8 bits (48 bits), que identifica de forma única a cualquier dispositivo de red.

El sistema de numeración octal

Como indica su nombre, el sistema de numeración octal utiliza ocho dígitos (0 a 7) para representar valores.

Como ya hemos dicho más arriba, la ventaja que representa octal sobre decimal es que utiliza una base que es potencia de 2 (23 = 8). En resumidas cuentas, esta característica nos va a permitir que cada tres caracteres en binario se puedan representar, directamente, con un carácter en octal.

Para comprenderlo, observemos la siguiente tabla que nos muestra valores en octal y en binario:

Octal

De esta forma, para convertir un número escrito en binario al sistema octal, bastaría con tomar los bits agrupados de tres en tres, comenzando por la derecha y completando con los ceros necesarios a la izquierda:

hacer grupos de tres dígitos

A continuación, buscamos cada grupo de tres dígitos en la tabla anterior y los sustituimos por su dígito correspondiente en la tabla:

sustituir valores

Por lo tanto, el número en binario 11011100(2 corresponde con el número 334(8 en octal.

Actividad 4: Cambio de base del sistema de numeración binario a octal

Realiza las operaciones necesarias para completar la siguiente tabla:

Ejercicio binario a octal

Resulta evidente que el paso de octal a binario es igual de sencillo.

Actividad 5: Cambio de base del sistema de numeración octal a binario

Realiza las operaciones necesarias para completar la siguiente tabla:

Ejercicio octal a binario

Convertir valores de octal a decimal

La forma más sencilla de convertir un valor en octal a decimal es aplicar el Teorema fundamental de la numeración como ya hemos hecho con el binario. Como la expresión posicional del número en octal la escribimos en decimal, al resolverla, obtendremos el resultado en decimal.

Veamos un ejemplo:

Octal a decimal

Actividad 6: Cambio de base del sistema de numeración octal a decimal

Realiza las operaciones necesarias para completar la siguiente tabla:

Ejercicio octal a decimal

Convertir valores de decimal a octal

Para realizar la conversión de un valor decimal a octal, podemos aplicar el método de las divisiones sucesivas que ya usamos con el sistema binario. Es decir, realizaremos la división entera (sin obtener decimales) del número en decimal entre ocho (la base a la que vamos a convertir). Una vez concluida la división, tomamos el cociente y volvemos a dividirlo entre ocho. Este proceso continuará hasta que obtengamos un cociente igual a cero.

En este punto, tomamos los restos de todas las divisiones en orden inverso a como han ido apareciendo (es decir, el último resto será el primero).

Como ejemplo, veamos la misma conversión del punto anterior, pero en el sentido contrario:

decimal a octal

Actividad 7: Cambio de base del sistema de numeración decimal a octal

Realiza las operaciones necesarias para completar la siguiente tabla:

Ejercicio decimal a octal

El sistema de numeración hexadecimal

El sistema de numeración hexadecimal utiliza dieciséis dígitos para representar valores. Como nosotros sólo utilizamos los dígitos del 0 al 9, y no son suficientes, en este caso se añaden las letras A a F para representar los dígitos que nos faltan. Por lo tanto, los dígitos que utilizamos para representar valores en hexadecimal son:

dígitos hexadecimales

Ya hemos comentado más arriba que, como pasaba con el sistema octal, la ventaja que representa hexadecimal sobre decimal es que utiliza una base que es potencia de 2 (24 = 16). De forma similar a lo que ocurría en octal, esta característica nos va a permitir que cada cuatro caracteres en binario se puedan representar, directamente, con un carácter en hexadecimal.

Para comprobarlo, vamos a partir de la tabla que nos muestra valores en hexadecimal y en binario:

Tabla hexadecimal-binario

De esta forma, para convertir un número escrito en binario al sistema hexadecimal, bastaría con tomar los bits agrupados de cuatro en cuatro, comenzando por la derecha y completando con los ceros que sean necesarios a la izquierda:

agrupar de cuatro en cuatro

A continuación, buscamos cada grupo de cuatro dígitos en la tabla anterior y los sustituimos por su dígito correspondiente en la tabla:

Buscar valores en la tabla

Por lo tanto, el número en binario 11011100(2 corresponde con el número DC(16 en hexadecimal.

Actividad 8: Cambio de base del sistema de numeración binario a hexadecimal

Realiza las operaciones necesarias para completar la siguiente tabla:

Ejercicio binario a hexadecimal

Actividad 9: Cambio de base del sistema de numeración octal a hexadecimal

Combinando lo aprendido para cambiar de octal a binario y de binario a hexadecimal, realiza las operaciones necesarias para completar la siguiente tabla:

Ejercicio octal a hexadecimal

Como puedes suponer, el paso de hexadecimal a binario es igual de sencillo.

Observa que la tabla que muestra la representación binaria de los números en octal es un subconjunto de la representación hexadecimal, donde únicamente tenemos en cuenta los 8 primeros valores (tres caracteres en binario).

Actividad 10: Cambio de base del sistema de numeración hexadecimal a binario

Realiza las operaciones necesarias para completar la siguiente tabla:

Ejercicio hexadecimal a binario

Actividad 11: Cambio de base del sistema de numeración hexadecimal a octal

Combinando lo aprendido para cambiar de hexadecimal a binario y de binario a octal, realiza las operaciones necesarias para completar la siguiente tabla:

Ejercicio hexadecimal a octal

Convertir valores de hexadecimal a decimal

Como en el caso del binario y el octal, la forma más sencilla de convertir un valor en hexadecimal adecimal es aplicar el Teorema fundamental de la numeración. Como antes, la expresión posicional del número en hexadecimal la escribimos en decimal. De este modo, al resolverla, obtendremos el resultado en decimal.

Para entender el siguiente ejemplo, debemos tener en cuenta el valor, en decimal, de los últimos 6 dígitos hexadecimales:

hexadecimal-decimal

Veamos el ejemplo:

Conversión hexadecimal-decimal

Actividad 12: Cambio de base del sistema de numeración hexadecimal a decimal

Realiza las operaciones necesarias para completar la siguiente tabla:

Ejercicio hexadecimal a decimal

Convertir valores de decimal a hexadecimal

Para realizar la conversión de un valor decimal a hexadecimal, aplicaremos de nuevo el método de las divisiones sucesivas que hemos utilizado con anterioridad. Es decir, realizaremos la división entera (sin obtener decimales) del número en decimal entre dieciséis (la base a la que vamos a convertir). Una vez concluida la división, tomamos el cociente y volvemos a dividirlo entre dieciséis. Este proceso continuará hasta que obtengamos un cociente igual a cero.

Llegado este momento, tomamos los restos de todas las divisiones en orden inverso a como han ido apareciendo (es decir, el último resto será el primero), acordándonos de sustituir aquellos valores que sean mayores que 9 por su dígito correspondiente en hexadecimal.

Como ejemplo, veamos la misma conversión del punto anterior, pero en el sentido contrario:

conversión decimal-hexadecimal

Actividad 13: Cambio de base del sistema de numeración decimal a hexadecimal

Realiza las operaciones necesarias para completar la siguiente tabla:

Ejercicio decimal a hexadecimal