Para pasar un número expresado en hexadecimal a decimal hay que tener en cuenta una serie de consideraciones que repasamos a continuación:
- Hay que recordar que cada una de las cifras de un número expresado en hexadecimal pueden tener las siguientes representaciones: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
- Por lo tanto, la A se podría expresar en binario como 10, la B como 11, la C como 12, la D como 13, la E como 14 y la F como 15.
- Cada una de las cifras que hemos separado del número en base hexadecimal es, por tanto un número entre 0 y 15. Teniendo este dato en cuenta, ¿cuántos bits serían necesarios para poder expresar en binario cada una de estas cifras?
- La respuesta es sencilla. Con un bit solo puedo hacer dos combinaciones diferentes (21 = 2).
- Con dos bits, podría hacer 4 combinaciones diferentes: 00, 01, 10, 11. (2número de bits => 22 = 4).
- Y aplicando el mismo razonamiento, con 3 bits podríamos expresar 8 (23) combinaciones diferentes.
- Por lo que con 4 bits podría expresar 16 (24) combinaciones diferentes que serían suficientes para expresar cada una de las cifras diferentes que puede tener un número expresado en hexadecimal.
Sabemos que cada uno de esos 4 bits, una vez colocados, tienen un peso que viene marcado de derecha a izquierda (de menor peso a mayor peso) por potencias de dos, según lo que se muestra en la siguiente tabla:
| Posición del bit | Cuarto bit (más significativo) A la izquierda | Tercer bit | Segundo bit | Primer bit (menos significativo). A la derecha |
| Potencia asociada | 23 | 22 | 21 | 20 |
| Peso |
8 |
4 | 2 | 1 |
Podemos pasar de binario a decimal simplemente sumando los pesos de los bits que tienen el valor 1.
Por ejemplo: 1001 => 8+0+0+1 = 9
Otro ejemplo 0111 => 0+4+2+1 = 7
Y de la misma forma, podemos pasar de decimal a binario fácilmente poniendo a 1 los bits cuyos pesos sumen el valor que queremos obtener:
Por ejemplo: Si queremos el valor 11 en decimal (que sería la B en hexadecimal) => ¿cómo sumo 8, 4, 2 y 1 para obtener el 11? => 8+2+1 => 1011
Teniendo esto en cuenta, es fácil obtener la representación en base 2 (binario) de un número representado en hexadecimal:
- Separamos las cifras del número en hexadecimal.
- Cambiamos los valores de las cifras que aparezcan como letras A-F por su correspondiente valor decimal (10-15).
- Usamos 4 bits para codificar cada valor anterior siguiendo el método de los pesos que acabamos de repasar.
- Ejemplo: 3AC1 =>
3 => 0011
A => corresponde con el 10 en decimal => 1010
C => corresponde con el 12 en decimal => 1100
1 => 0001
Y el resultado del cambio de base es 3CA1 => 0011 1010 1100 0001
Mira el vídeo con atención para recordar cómo se pasa un número expresado en base hexadecimal a base binaria