Obviamente sabemos que existe la función estándar de Excel:
=DEC.A.HEX(número;[posiciones])
que convertirá cualquier número decimal en hexadecimal...
Hoy lo que veremos es la explicación de esta función... en definitiva en qué consiste ese algoritmo de conversión.
El motivo del post es dar respuesta a un lector que planteaba la siguiente proegunta
Lo más importante antes de comenzar es entender que un sistema decimal emplea 10 valores (del 0 al 9), mientras que el sistema hexadecimal emplea 16 (números de 0 al 9 y además las letras A, B, C, D, E y F) según la siguiente equivalencia:
El algoritmo de trabajo se basa en conseguir en primer lugar la parte entera del cociente del número a convertir y posteriores entre 16 (hasta llegar a cero):
=ENTERO(B2/A3)
En un segundo paso, a partir de esos cocientes (parte entera) obtenidos obtenemos el residuo o resto de la división entre 16 de dichos valores:
=RESIDUO(B2;A3)
En un penúltimo paso, empleando la función BUSCARV conseguimos recuperar el valor correspondiente Hexadecimal (según la Tabla de equivalencia mostrada al inicio):
El último paso es simple, basta unir en sentido inverso (ver celda D6) los valores equivalentes hexadecimales obtenidos.
=D5&D4&D3
Como comprobación, en la celda F8 se aplica la función estándar de Excel... obteniendo el mismo dato.
=DEC.A.HEX(número;[posiciones])
que convertirá cualquier número decimal en hexadecimal...
Hoy lo que veremos es la explicación de esta función... en definitiva en qué consiste ese algoritmo de conversión.
El motivo del post es dar respuesta a un lector que planteaba la siguiente proegunta
Hola quisiera saber como pasar un código decimal a hexadecimal sin usar la fórmula de Excel. Gracias |
Lo más importante antes de comenzar es entender que un sistema decimal emplea 10 valores (del 0 al 9), mientras que el sistema hexadecimal emplea 16 (números de 0 al 9 y además las letras A, B, C, D, E y F) según la siguiente equivalencia:
El algoritmo de trabajo se basa en conseguir en primer lugar la parte entera del cociente del número a convertir y posteriores entre 16 (hasta llegar a cero):
=ENTERO(B2/A3)
En un segundo paso, a partir de esos cocientes (parte entera) obtenidos obtenemos el residuo o resto de la división entre 16 de dichos valores:
=RESIDUO(B2;A3)
En un penúltimo paso, empleando la función BUSCARV conseguimos recuperar el valor correspondiente Hexadecimal (según la Tabla de equivalencia mostrada al inicio):
El último paso es simple, basta unir en sentido inverso (ver celda D6) los valores equivalentes hexadecimales obtenidos.
=D5&D4&D3
Como comprobación, en la celda F8 se aplica la función estándar de Excel... obteniendo el mismo dato.
No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.