Conversor Universal de Bases
Base 2 — Base 94 · Bidireccional

Guía de Uso

Lectura de la tabla

Notación de corchetes



Documentación Técnica

El conversor implementa una transformación entre sistemas numéricos posicionales en el rango [2, 94], usando el decimal (Base 10) como representación intermedia canónica. La arquitectura se fundamenta en el principio de que el cambio de base es un reetiquetado notacional: la magnitud —y por tanto la información— permanece invariante.

Fase 1 · Parsing del valor de origen

La cadena de entrada se tokeniza reconociendo dos clases léxicas: caracteres individuales pertenecientes al diccionario estándar de la base origen, y enteros literales encapsulados entre corchetes [N] (notación de fallback). Cada token se traduce a su valor numérico decimal.

Posteriormente se aplica expansión polinómica posicional para obtener la magnitud total:

$$M = \sum_{i=0}^{n-1} d_{i} \cdot b_{o}^{\,n-1-i}$$

Donde $d_i$ es el valor decimal del token en la posición $i$ (leída de izquierda a derecha), $b_o$ la base origen y $n$ el número total de tokens. Todos los cálculos se efectúan con enteros de precisión arbitraria (BigInt) para preservar exactitud en magnitudes grandes.

Fase 2 · División euclídea sucesiva

La magnitud $M$ se descompone en dígitos de la base destino $b_d$ mediante divisiones enteras iterativas. En cada paso se calculan cociente y resto:

$$q_{k+1} = \left\lfloor \frac{q_k}{b_d} \right\rfloor \quad,\quad r_k = q_k \bmod b_d$$

Siendo $q_0 = M$. La iteración finaliza cuando $q_k = 0$. La secuencia de restos $r_k$, leída en orden inverso al de generación, constituye la representación del número en la base destino.

Visualización del proceso

La tabla de pasos muestra las cinco magnitudes relevantes de cada iteración:

Exhibir simultáneamente la base origen, la decimal y la destino hace visible que el algoritmo no opera nunca sobre caracteres, sino sobre magnitudes: los símbolos son solo la fachada de un mismo número.

Diccionarios de codificación

El diccionario define la biyección entre valores decimales $[0, L-1]$ y caracteres visibles, siendo $L$ la longitud del diccionario:

La selección por defecto elige el diccionario mínimo que cubre la base destino, pero cualquier combinación es admisible.

Notación de fallback

Cuando la base destino $b_d$ supera la longitud $L$ del diccionario activo, los restos $r_k \geq L$ no tienen carácter asignado. El sistema los emite entre corchetes [r_k], preservando la reversibilidad: cualquier salida generada por la aplicación es también un valor de entrada válido para la base correspondiente.

Precisión y límites

El uso de BigInt elimina el límite superior por overflow numérico; los únicos cuellos de botella prácticos son la longitud de la cadena de entrada y el coste de renderizado de la tabla. Las bases soportadas están acotadas al rango $[2, 94]$ por la disponibilidad del diccionario máximo.

Invariancia informacional

La información contenida en un número es independiente de la base elegida para representarlo. El pie del bloque de resultado muestra la magnitud en binario puro y el número de bits necesarios para codificarla ($\lceil \log_2 M \rceil$), como referencia de la cantidad objetiva de información presente. Ningún cambio de base altera ese valor: solo modifica la densidad simbólica con la que se expresa.