Aunque los circuitos electrónicos digitales y los ordenadores utilizan el sistema binario, trabajar con este sistema de numeración resulta pesado, y suele producir equivocaciones cuando se trabaja con números binarios demasiado largos.
En el sistema hexadecimal los números se representan con dieciséis símbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E y F. Se utilizan los caracteres A, B, C, D, E y F representando las cantidades decimales 10, 11, 12, 13, 14 y 15 respectivamente, porque no hay dígitos mayores que 9 en el sistema decimal. El valor de cada uno de estos símbolos depende, como es lógico, de su posición, que se calcula mediante potencias de base 16. Este sistema en determinados aspectos de la informática en donde es más sencilla su aplicación que el decimal o el binario. Este sistema es muy utilizado hoy en día, aunque muchos programas informáticos, compiladores y otras utilidades lo van sustituyendo por el sistema decimal.
Actualmente el sistema hexadecimal es uno de los más utilizados en el procesamiento de datos, debido principalmente a 2 ventajas:
La primera ventaja es la simplificación en la escritura de los números decimales, cada 4 cifras binarias se representan por una hexadecimal.
La segunda es que cada cifra hexadecimal se pueden expresar mediante 4 cifras binarias, con lo que se facilita la transposición entre estos 2 sistemas. Para convertir un número binario en hexadecimal se realiza el mismo proceso, pero a la inversa.
La conversión de un número hexadecimal a decimal
Por ejemplo, el valor del número hexadecimal 1A3F(16:
1*163 + A*162 + 3*161 + F*160
1*4096 + 10*256 + 3*16 + 15*1 = 6719
1A3F(16 = 6719(10
La conversión de un número decimal a hexadecimal
se realiza utilizando la técnica habitual de divisiones sucesivas. En este caso, las divisiones entre 16. Por ejemplo, para convertir a hexadecimal del número 1735(10 será necesario hacer las siguientes divisiones:
1735 : 16 = 108 Resto: 7
108 : 16 = 6 Resto: C
De ahí que, tomando el último cociente y los restos en orden inverso, se obtiene el número en hexadecimal:
1735(10 = 6C7(16
Conversión de números binarios a hexadecimales y viceversa
Del mismo modo que existe la correspondencia entre números octales y binarios, se puede 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:
1010(2 = A(16
0111(2 = 7(16
0011(2 = 3(16
y, por tanto: 101001110011(2 = A731(6
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:
101110(2 = 00101110(2 = 2E16
La conversión de números hexadecimales a binarios se hace del mismo modo, reemplazando cada dígito hexadecimal por los cuatro bits equivalentes de la tabla. Para convertir a binario, por ejemplo, el número hexadecimal 1F616 se obtienen de la tabla las siguientes equivalencias:
1(16 = 0001(2
F(16 = 1111(2
6(16 = 0110(2
y, por tanto: 1F6(16 = 000111110110(2