Sistema Hexadecimal

Sistema Hexadecimal

El sistema hexadecimal tiene base 16 y se representa por el conjunto {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}

Muchos valores en informática se representan en hexadecimal

El valor de un byte se puede representar con dos cifras hexadecimales. Desde el valor 0 decimal como 00, hasta el valor 255 como FF

Cada cuatro cifras binarias se corresponden con una cifra hexadecimal, por eso también corresponde con el valor de un nibble

Conversiones

Convertir de sistema decimal a hexadecimal

La representación hexadecimal de un número decimal (el paso de un número en base 10 a su correspondiente en base 16), se calcula dividiendo sucesivamente el cociente de la división del numero por el divisor 16, hasta obtener un cociente menor a 16. La representación en base 16 será, el último cociente seguido del ultimo resto seguido del resto anterior seguido del resto anterior y así hasta el primer resto obtenido

Para conseguir la conversión, además se utiliza esta tabla para representar los valores:

Tabla de conversión
Decimal Hexadecimal
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 A
11 B
12 C
13 D
14 E
15 F

Ejemplo: Convertir 3737 a representación hexadecimal

Numero Cociente Resto
\frac{3737}{16} 233 9
\frac{233}{16} 14 9

14\rightarrow E
9\rightarrow 9

Entonces tenemos que:

3737_{(10} = E99_{(16}

Convertir de sistema decimal a hexadecimal con decimales

La representación hexadecimal de un número decimal con decimales (el paso de un número en base 10 a su correspondiente en base 16), se calcula multiplicando sucesivamente el número (después los resultados) sin su parte entera por 16, hasta obtener un número sin decimales, hasta una cantidad que se repita periódicamente (en el caso de números periódicos), o hasta un número de dígitos predefinido por la precisión de la máquina. La representación en base 16 será, la parte entera sin modificaciones, después se le añade la coma y por último la parte entera del resultado de las multiplicaciones sucesivas

Ejemplo: Convertir 56,75 a representación hexadecimal con decimales

Número Cociente Resto
\frac{56}{16} 3 8

3\rightarrow 3
8\rightarrow 8

Entonces tenemos que la parte entera es:

56_{(10} = 38_{(16}

Número Resultado Parte entera
0,75 \cdot 16 12 12

12\rightarrow C

Entonces tenemos que la parte decimal es:

0,75_{(10} = C_{(16}

Entonces tenemos que:

56,75_{(10} = 38,C_{(16}

Convertir de sistema hexadecimal a decimal

La representación decimal de un número binario, correspondería a aplicar la fórmula:

b_1 \cdot 16^{(n - 1)} + \cdots + b_n \cdot 16^0

Donde n seria la longitud de la cadena, y b_i el valor correspondiente a la posición i-ésima de la ristra, empezando de izquierda a derecha

Ejemplo: Convertir E99 a representación decimal

E\rightarrow 14
9\rightarrow 9

E99_{(16}=E \cdot 16^2 + 9 \cdot 16^1 + 9 \cdot 16^0 = 14 \cdot 256 + 9 \cdot 16 + 9 \cdot 1 = 3584 + 144 + 9 = 3737_{(10}

Entonces tenemos que:

E99_{(16}=3737_{(10}

Convertir de sistema hexadecimal a decimal con decimales

Si el número tiene además decimales, se expresará con la siguiente fórmula:

b_1 \cdot 16^{(n - 1)} + \cdots + b_n \cdot 16^0 + b_{(n + 1)} * 16^{-1} + \cdots+ b_{(n + m)} \cdot 16^{-m}

Donde n seria la longitud de la cadena sin decimales, m la longitud de la cadena con decimales, b_i el valor correspondiente a la posición i-ésima de la ristra, empezando de izquierda a derecha

Ejemplo: Convertir 38,C a representación decimal

3\rightarrow 14
8\rightarrow 9
C\rightarrow 12

38,C_{(16}=3 \cdot 16^1 + 8 \cdot 16^0 + C \cdot 16^{-1} = 3 \cdot 16 + 8 \cdot 1 + 12 \cdot 0,0625 = 48 + 8 + 0,75 = 56,75_{(10}

Entonces tenemos que:

38,C_{(16}=56,75_{(10}