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:

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

Servidor HTTP en Android con Flutter

El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…

4 días hace

Imprimir automáticamente todos los PDF de una carpeta

En este post te voy a enseñar a designar una carpeta para imprimir todos los…

5 días hace

Guía para imprimir en plugin versión 1 desde Android

En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…

1 semana hace

Añadir tasa de cambio en sistema de información

Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…

2 semanas hace

Comprobar validez de licencia de plugin ESC POS

Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…

2 semanas hace

Imprimir euro € en impresora térmica

Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…

4 semanas hace

Esta web usa cookies.