App que explica la conversión hexadecimal a decimal

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
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:

const equivalencias = {
    "0": 0,
    "1": 1,
    "2": 2,
    "3": 3,
    "4": 4,
    "5": 5,
    "6": 6,
    "7": 7,
    "8": 8,
    "9": 9,
    "A": 10,
    "B": 11,
    "C": 12,
    "D": 13,
    "E": 14,
    "F": 15,
};

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:

this.operaciones.forEach(operaciones => operaciones.reverse());

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

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

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.

Dejar un comentario

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