javascript

Explicando la conversión hexadecimal a decimal manualmente usando JavaScript

App que explica cómo convertir hexadecimal a decimal en JavaScript con Vue.JS 2

Como lo dije en otro post, hice una pequeña app que te explica cómo convertir un número hexadecimal a decimal. No es como cuando vimos conversión entre bases con JS, pues eso se hacía pero el lenguaje se encargaba.

Lo que trato de hacer aquí es explicar el procedimiento para realizar la conversión. Esto es por si estamos en nuestras clases de matemáticas discretas o simplemente algún día necesitamos hacer la conversión hexadecimal-decimal a mano.

Nota: te invito a ver una app que convierte bases.

Código fuente y aplicación

El código fuente está en GitHub. Puedes probar la app en línea justo aquí: explicación de conversión hexadecimal a decimal.

App que explica la conversión hexadecimal a decimal

Explicación del código

Pues un día andaba buscando por internet y me topé con un documento PDF muy interesante y simple que explicaba cómo convertir hexadecimal a decimal manualmente. Así que como vi que era sencillo, hice una aplicación que explica la conversión (y de paso aprendí a hacerlo).

Lo que tenemos que hacer es recorrer la cadena de derecha a izquierda. En cada iteración, aumentar un contador para saber la posición y sobre todo para elevar el 16 a esa potencia.

Todas las operaciones las vamos poniendo en un arreglo de arreglos. Esta parte no me gustó mucho, siento que es medio sucia pero al final funciona. Cada arreglo dentro del arreglo tiene cadenas que son la operación.

Para las equivalencias usamos un simple diccionario:

See the gist on github.

Así obtenemos el valor numérico del carácter en un tiempo constante ya que sólo hacemos esto:

let equivalencia = equivalencias[caracter];

Nos evitamos de esta forma ver si son números o letras, pues tenemos ambas cosas.

De ahí para validar el hexadecimal usamos el post que cito al inicio.

Una cosa interesante es dar el focus en el ciclo de vida mounted de Vue; ya que con el simple atributo de autofocus no funcionaba.

Como las operaciones del algoritmo las hacemos de derecha a izquierda pero el ser humano las hace de izquierda a derecha necesitamos girar, voltear o reversear todos los arreglos. Eso lo logramos recorriendo el arreglo de arreglos y aplicando el método reverse en cada uno de ellos:

See the gist on github.

Y esa es la explicación; muy simple pero ayuda a comprender cuando uno no conoce cómo hacer estas conversiones.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

JavaScript (lado del cliente): leer pixeles de imagen

En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…

4 días hace

PHP y JavaScript: llenar select con AJAX

Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…

5 días hace

Imprimir PDF generado con HTML

Hoy vamos a ver programar la impresión de un PDF generado a partir de HTML…

6 días hace

JavaScript: llenar select con arreglo

En este tutorial básico de JavaScript con HTML vamos a ver cómo llenar una lista…

2 semanas hace

Imprimir PDF a partir de URL

En este artículo se presenta una guía para imprimir un PDF a partir de una…

2 semanas hace

Imprimir PDF a partir de base64

En este post voy a enseñarte cómo imprimir un PDF a partir de su representación…

2 semanas hace

Esta web usa cookies.