Capítulo 2: Componentes lógicos: Representación de la información
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.
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:

Actividad 2: Cambio de base del sistema de numeración binario al decimal
Realiza las operaciones necesarias para completar la siguiente tabla:
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:

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:
- Multiplicamos la parte decimal por 2
- Separamos la parte entera del resultado
- Con la parte decimal resultante volvemos al primer paso.
- 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:

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:
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:

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:

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:

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:
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:
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:

Actividad 6: Cambio de base del sistema de numeración octal a decimal
Realiza las operaciones necesarias para completar la siguiente tabla:
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:

Actividad 7: Cambio de base del sistema de numeración decimal a octal
Realiza las operaciones necesarias para completar la siguiente tabla:
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:

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:

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:

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:

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:
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:
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:
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:
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:

Veamos el ejemplo:

Actividad 12: Cambio de base del sistema de numeración hexadecimal a decimal
Realiza las operaciones necesarias para completar la siguiente tabla:
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:
Actividad 13: Cambio de base del sistema de numeración decimal a hexadecimal
Realiza las operaciones necesarias para completar la siguiente tabla: