1.2 Conversiones entre Sistemas Numéricos
Decimal
Conversión entre números decimales a binarios
Convertir un número decimal al sistema binario es muy sencillo: basta con realizar divisiones sucesivas por 2 y escribir los restos obtenidos en cada división en orden inverso al que han sido obtenidos.
Por ejemplo, para convertir al sistema binario el número 7710 haremos una serie de divisiones que arrojarán los restos siguientes:
77 : 2 = 38 Resto: 1
38 : 2 = 19 Resto: 0
19 : 2 = 9 Resto: 1
9 : 2 = 4 Resto: 1
4 : 2 = 2 Resto: 0
2 : 2 = 1 Resto: 0
1 : 2 = 0 Resto: 1
y, tomando los restos en orden inverso obtenemos la cifra binaria:
7710 = 10011012.
Conversión de un número decimal a octal
La conversión de un número decimal a octal se hace con la misma técnica que ya hemos utilizado en la conversión a binario, mediante divisiones sucesivas por 8 y colocando los restos obtenidos en orden inverso. Por ejemplo, para escribir en octal el número decimal 12210 tendremos que hacer las siguientes divisiones:
122 : 8 = 15 Resto: 2
15 : 8 = 1 Resto: 7
1 : 8 = 0 Resto: 1
Tomando los restos obtenidos en orden inverso tendremos la cifra octal:
12210 = 1728
Conversión de un número decimal a hexadecimal
Ensayemos, utilizando la técnica habitual de divisiones sucesivas, la conversión de un número decimal a hexadecimal. Por ejemplo, para convertir a hexadecimal del número 173510 será necesario hacer las siguientes divisiones:
1735 : 16 = 108 Resto: 7
108 : 16 = 6 Resto: C es decir, 1210
6 : 16 = 0 Resto: 6
De ahí que, tomando los restos en orden inverso, resolvemos el número en hexadecimal:
173510 = 6C716
Binaria
Conversión de binario a decimal
El proceso para convertir un número del sistema binario al decimal es aún más sencillo; basta con desarrollar el número, teniendo en cuenta el valor de cada dígito en su posición, que es el de una potencia de 2, cuyo exponente es 0 en el bit situado más a la derecha, y se incrementa en una unidad según vamos avanzando posiciones hacia la izquierda.
Por ejemplo, para convertir el número binario 10100112 a decimal, lo desarrollamos teniendo en cuenta el valor de cada bit:
1*26 + 0*25 + 1*24 + 0*23 + 0*22 + 1*21 + 1*20 = 83
10100112 = 8310
Conversión de números binarios a octales y viceversa
Observa la tabla siguiente, con los siete primeros números expresados en los sistemas decimal, binario y octal:
Cada dígito de un número octal se representa con tres dígitos en el sistema binario. Por tanto, el modo de convertir un número entre estos sistemas de numeración equivale a "expandir" cada dígito octal a tres dígitos binarios, o en "contraer" grupos de tres caracteres binarios a su correspondiente dígito octal.
Por ejemplo, para convertir el número binario 1010010112 a octal tomaremos grupos de tres bits y los sustituiremos por su equivalente octal:
1012 = 58
0012 = 18
0112 = 38
y, de ese modo: 1010010112 = 5138
Conversión de números binarios a hexadecimales y viceversa
Del mismo modo que hayamos la correspondencia entre números octales y binarios, podemos establecer una equivalencia directa entre cada dígito hexadecimal y cuatro dígitos binarios, como se ve en la siguiente tabla:
La conversión entre números hexadecimales y binarios se realiza "expandiendo" o "contrayendo" cada dígito hexadecimal a cuatro dígitos binarios. Por ejemplo, para expresar en hexadecimal el número binario 1010011100112 bastará con tomar grupos de cuatro bits, empezando por la derecha, y reemplazarlos por su equivalente hexadecimal:
10102 = A16
01112 = 716
00112 = 316
y, por tanto: 1010011100112 = A7316
En caso de que los dígitos binarios no formen grupos completos de cuatro dígitos, se deben añadir ceros a la izquierda hasta completar el último grupo. Por ejemplo:
1011102 = 001011102 = 2E16
Octal
Conversión octal a decimal
La conversión de un número octal a decimal es igualmente sencilla, conociendo el peso de cada posición en una cifra octal. Por ejemplo, para convertir el número 2378 a decimal basta con desarrollar el valor de cada dígito:
2*82 + 3*81 + 7*80 = 128 + 24 + 7 = 15910
2378 = 15910
Conversión octal a hexadecimal
Debido a que no hay una forma directa de realizar esta transformación, lo que debemos hacer es transformar el numero a binario o decimal y luego debemos transformarlo a Hexadecimal.
Hexadecimal
Conversión hexadecimal a Decimal
Calculemos, a modo de ejemplo, el valor del número hexadecimal 1A3F16:
1A3F16 = 1*163 + A*162 + 3*161 + F*160
1*4096 + 10*256 + 3*16 + 15*1 = 6719
1A3F16 = 671910