Cambio de base
Cómo pasar números del sistema decimal a otros sistemas de numeración y, al revés, cómo pasar números de otros sistemas al decimal.
Qué es un sistema de numeración
Normalmente trabajamos con el sistema decimal. Este sistema tiene diez cifras: 0, 1, 2, 3, 4, 5, 6, 7, 8 y 9. El sistema decimal se caracteriza porque, cuando multiplicamos un número, por ejemplo 57, por diez, subimos una posición: necesitamos una cifra más para escribir ese número, 570.
También podemos tener otros sistemas de numeración. El sistema octal tendría solo las cifras 0, …, 7. La expresión 7 + 1 sería entonces igual a 10, porque en el sistema octal no tenemos la cifra 8. El sistema hexadecimal tendría las cifras 0, 1, … 14, 15. A veces, en lugar de las cifras mayores que 9, usamos letras, así que el sistema hexadecimal tendría las cifras 0, …9, A, B, C, D, E, F.
Sorprendentemente, también nos encontramos con otros sistemas de numeración en la vida cotidiana. Por ejemplo, el tiempo: los segundos y los minutos se cuentan en el sistema sexagesimal. Cada instante del día se puede escribir como un número de tres cifras en el sistema sexagesimal. La primera cifra indica las horas, la segunda los minutos y la tercera los segundos. Si elegimos como separador de cifras los dos puntos, tenemos, por ejemplo, el número 14:05:59. Fíjate en que, si a esta hora le sumamos un segundo, no obtenemos las 14:05:60, sino las 14:06:00, porque 60 no es una cifra válida del sistema sexagesimal.
Paso de decimal a binario
Supongamos que tenemos escrito en un papel el número 70. Ahora queremos pasarlo al sistema binario. El principio es bastante sencillo: dividimos el número que queremos convertir entre dos una y otra vez hasta llegar a cero, anotando los restos de las divisiones enteras. Si queremos pasar el número a otra base, por ejemplo a la hexadecimal, dividiremos entre dieciséis. Si es a la base seis, dividimos entre seis. En la práctica quedará así:
El número en el sistema binario lo forman los restos de las divisiones. Pero no los tomamos de arriba abajo, sino de abajo arriba. Así, el número 70 en el sistema binario es 1000110.
Paso de binario a decimal
Para hacerlo al revés procedemos así. Tomemos el número 1100010 y pasémoslo al sistema decimal. Este sentido es más sencillo: basta calcular esta suma:
Cada sumando tiene la forma x · 2i, donde x es una cifra del número binario original e i va aumentando de uno en uno, empezando por la derecha. Como estamos pasando el número 1100010, la suma queda así:
El número 1100010 tiene siete cifras, así que los exponentes del número dos serán sucesivamente 6, 5, …, 1, 0. Después de calcular las potencias y multiplicar obtenemos la expresión:
¿Por qué funciona este procedimiento?
Podemos verlo con el sistema decimal. ¿Qué significan en realidad las cifras de un número, por ejemplo del 7384? La cifra 4 indica el número de unidades, la cifra 8 el de decenas, la cifra 3 el de centenas y la cifra 7 el de unidades de millar. Así que podemos escribir que
Podemos modificar aún esta expresión para no usar los números 100, 10 y 1, sino tener siempre alguna potencia de diez. Como se cumple 100 = 1, 101 = 10, etc., podemos escribir
Todo número del sistema decimal se puede describir de la misma manera, y cada sumando tiene la forma x · 10i, donde x es una cifra de 0 a 9 (hay diez cifras). El valor i es un número entero no negativo que indica la posición. Si i = 0, el sumando indica las unidades; si i = 2, indica las centenas (porque 102 = 100).
Probemos ahora a pasar el número 7348 del sistema decimal al… esto… sistema decimal. Tendrá sentido. Dividiremos el número 7348 entre 10:
Si leemos los restos de abajo arriba, tenemos el número 7348, es decir, el número original que intentábamos pasar a… el mismo sistema.
Si queremos describir el sistema binario, lo hacemos exactamente igual: todos los sumandos tendrán la forma x · 2i, donde x es la cifra 0 o 1. El valor i vuelve a indicar las posiciones. Igual que dividir sucesivamente entre diez nos da las cifras de cada posición de un número del sistema decimal, dividir sucesivamente entre dos nos da las cifras de cada posición en el sistema binario.
Fíjate también en que, cuando dividimos un número entre diez y miramos el resto, este resto siempre estará en el intervalo [0, 9]. Si dividimos un número entre dos, el resto solo puede ser 0 o 1.
Paso a otras bases
El procedimiento anterior para pasar de decimal a binario es tan general que sirve también para otras bases. Si queremos pasar el número 185 al sistema hexadecimal, basta dividir entre 16:
En base 16, el número 185 tendría la forma (11, 9). En lugar de las «cifras» mayores que 9 se suelen usar letras, así que 10 = A, 11 = B, 12 = C, … Podemos escribir, pues, que el número 185 en base 16 es B9.
De forma parecida podemos pasar el número B9 de la base 16 al sistema decimal.