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

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.

Relacionado:  Java: separar parte entera y decimal de un número

Para las equivalencias usamos un simple diccionario:

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:

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

Apoya al sitio

¿Mi artículo te ha resultado útil? haz una donación. También pudes suscribirte a mi boletín semanal en la parte de abajo

Suscribir por correo

Ingresa tu correo y recibirás mis últimas entradas sobre programación, open source, bases de datos y todo lo relacionado con informática

Únete a otros 314 suscriptores


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/

0 Comments

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

A %d blogueros les gusta esto: