¿Qué es una base numérica (radix) y por qué importa en programación?
Una base numérica (o radix) define cuántos dígitos únicos se usan en un sistema numérico posicional. La base 10 (decimal) usa los dígitos 0-9; la base 2 (binario) usa 0-1; la base 16 (hexadecimal) usa 0-9 y A-F. En programación, el binario representa datos brutos de la máquina, el octal se usa en permisos de archivos Unix (como chmod 755), y el hexadecimal es estándar para direcciones de memoria, códigos de color (#FF5733) e inspección de datos a nivel de byte. Entender las bases es esencial para la depuración, redes y programación de bajo nivel.
¿Cómo convierto manualmente entre bases numéricas?
Para convertir desde cualquier base a decimal: multiplica cada dígito por la base elevada a la potencia de su posición (de derecha a izquierda, comenzando desde 0), luego suma los resultados. Por ejemplo, el binario 1011 = 1×2³ + 0×2² + 1×2¹ + 1×2⁰ = 8+0+2+1 = 11. Para convertir de decimal a otra base: divide repetidamente por la base de destino y recoge los residuos en orden inverso. Por ejemplo, el decimal 255 a hex: 255÷16 = 15 con residuo 15, dando FF.
¿Son seguros mis datos al usar este conversor de bases?
Sí, completamente. Todas las conversiones se ejecutan localmente en tu navegador usando JavaScript. No se envían datos a ningún servidor — no hay solicitudes de red, ni cookies, ni seguimiento analítico de tus entradas, ni almacenamiento de datos. Tus números nunca abandonan tu dispositivo. Esta herramienta es ideal para convertir datos sensibles como direcciones de memoria o secuencias de bytes propietarias.
¿Qué es el sistema de base 36 y dónde se usa?
La base 36 es la mayor base alfanumérica, usando los dígitos 0-9 y las letras A-Z (donde A=10 hasta Z=35). Se usa ampliamente en acortadores de URL (como los IDs de vídeos de YouTube), identificadores únicos compactos, claves primarias de bases de datos y codificación de números grandes en cadenas cortas legibles por humanos. Por ejemplo, el número decimal 1.000.000 se convierte en LFLS en base 36 — mucho más corto y fácil de compartir. La base 36 es especialmente popular en desarrollo web para generar identificadores amigables con URLs que son tanto compactos como insensibles a mayúsculas.
¿Cuál es la diferencia entre representación numérica con signo y sin signo?
Los números sin signo representan solo valores no negativos (0 y positivos). Los números con signo pueden representar tanto valores positivos como negativos, usando típicamente la codificación en complemento a dos en los ordenadores. En el complemento a dos, el bit más significativo indica el signo: 0 para positivo, 1 para negativo. Por ejemplo, en 8 bits sin signo, el rango es 0-255; en 8 bits con signo (complemento a dos), el rango es -128 a 127.
¿Por qué los programadores usan hexadecimal en lugar de binario?
El hexadecimal es una representación compacta de datos binarios: cada dígito hex se mapea exactamente a 4 bits binarios (un nibble). Esto hace que el hex sea mucho más fácil de leer y escribir que largas cadenas binarias. Por ejemplo, el valor binario 11111111 00001010 es simplemente FF0A en hex. El hex es el estándar en direcciones de memoria, códigos de color (CSS #FF5733), direcciones MAC (00:1A:2B:3C:4D:5E) y formato de UUID.
¿Puede esta herramienta manejar números muy grandes?
Sí. Esta herramienta usa BigInt de JavaScript para aritmética de enteros de precisión arbitraria, por lo que no hay límite superior en el número de dígitos. Puedes convertir números con cientos o incluso miles de dígitos entre cualquier base del 2 al 36 sin pérdida de precisión. El tipo Number nativo de JavaScript está limitado a enteros de 53 bits, pero BigInt elimina esta limitación por completo.
¿Por qué los permisos de archivos Unix se representan en octal?
Los permisos de archivos Unix usan tres categorías — propietario, grupo y otros — cada una con tres bits de permiso: leer (r=4), escribir (w=2) y ejecutar (x=1). Como 3 bits pueden representar valores del 0 al 7, cada categoría se mapea perfectamente a un solo dígito octal. Por ejemplo, el permiso 755 significa: el propietario tiene rwx (7 = 4+2+1), el grupo tiene r-x (5 = 4+0+1) y otros tienen r-x (5 = 4+0+1). El octal es la elección natural porque cada dígito codifica exactamente un grupo de permisos.
¿Cómo se usan los colores hexadecimales en el desarrollo web?
En el desarrollo web, los colores se especifican comúnmente en el formato hex #RRGGBB, donde cada par de dígitos hex representa un canal de color: rojo, verde y azul. Cada canal va de 00 (0, sin intensidad) a FF (255, intensidad máxima). Por ejemplo, #FF5733 significa rojo=FF (255), verde=57 (87), azul=33 (51), produciendo un naranja-rojo vibrante. El CSS moderno también admite #RRGGBBAA para transparencia alfa.
¿Cuáles son las aplicaciones prácticas de la conversión de bases en redes?
La conversión de bases es esencial en redes para trabajar con direcciones IP, máscaras de subred y direcciones MAC. Las direcciones IPv4 como 192.168.1.1 se escriben en decimal, pero los cálculos de subred requieren binario. Por ejemplo, una máscara de subred /24 es 11111111.11111111.11111111.00000000 en binario, que es 255.255.255.0 en decimal. Las direcciones MAC usan notación hexadecimal (como 00:1A:2B:3C:4D:5E) porque cada par hex representa un byte.
¿Cómo convierto manualmente binario a hexadecimal?
El método más sencillo es la técnica de agrupación de 4 bits. Comenzando desde el bit más a la derecha, divide el número binario en grupos de 4 dígitos (llamados nibbles). Rellena el grupo más a la izquierda con ceros iniciales si es necesario. Luego usa esta tabla de consulta para convertir cada grupo: 0000=0, 0001=1, 0010=2, 0011=3, 0100=4, 0101=5, 0110=6, 0111=7, 1000=8, 1001=9, 1010=A, 1011=B, 1100=C, 1101=D, 1110=E, 1111=F. Por ejemplo, el binario 10101111 se divide en 1010 y 1111, que se mapean a A y F, dando el hex AF. Esto funciona porque 16 es una potencia de 2 (16 = 2⁴), por lo que cada dígito hex representa exactamente 4 dígitos binarios.
¿Cómo convierto un número negativo entre bases?
Los números negativos en los ordenadores se representan típicamente usando el complemento a dos. En este sistema, el bit más significativo (MSB) actúa como bit de signo: 0 para positivo y 1 para negativo. Para encontrar el complemento a dos de un número, invierte todos los bits (cambia 0s por 1s y viceversa) y suma 1. Por ejemplo, para representar -5 en binario de 8 bits: comienza con 5 (00000101), invierte para obtener 11111010, suma 1 para obtener 11111011. Esto significa que -5 en complemento a dos de 8 bits es 11111011 en binario o FB en hexadecimal. El rango de un número en complemento a dos de n bits es -2^(n-1) a 2^(n-1)-1. Esta herramienta convierte la magnitud del número; para representaciones con signo, deberías aplicar el complemento a dos manualmente.
¿Cuál es la diferencia entre hexadecimal y decimal?
El decimal (base 10) usa diez dígitos (0-9) y es el sistema numérico cotidiano con el que los humanos están más familiarizados. El hexadecimal (base 16) usa dieciséis símbolos (0-9 y A-F) y es el formato preferido en informática. La diferencia clave está en el valor posicional: en decimal, cada posición representa una potencia de 10 (1, 10, 100, 1000...), mientras que en hexadecimal cada posición representa una potencia de 16 (1, 16, 256, 4096...). Por ejemplo, el número decimal 255 es FF en hex porque 15×16 + 15×1 = 255. El hexadecimal es preferido en programación porque se mapea limpiamente al binario — cada dígito hex representa exactamente 4 bits — lo que lo hace ideal para direcciones de memoria, códigos de color y datos a nivel de byte.
¿Por qué las computadoras usan binario en lugar de decimal?
Las computadoras usan binario (base 2) porque sus bloques de construcción fundamentales — los transistores — operan como interruptores electrónicos con dos estados: encendido (1) y apagado (0). Esto se mapea perfectamente a los dígitos binarios. El binario también se alinea naturalmente con la lógica booleana (verdadero/falso), que forma la base de todas las operaciones informáticas. Mientras que las primeras computadoras experimentaron con sistemas ternarios y decimales, el binario prevaleció porque ofrece la mejor combinación de simplicidad, confiabilidad y tolerancia al ruido en circuitos electrónicos.
¿Cómo se compara esta herramienta con las funciones de conversión integradas de los lenguajes de programación?
Los lenguajes de programación ofrecen funciones de conversión integradas — JavaScript tiene parseInt() y toString(), Python tiene bin(), oct(), hex() e int(). Sin embargo, esta herramienta ofrece varias ventajas: convierte a todas las bases comunes simultáneamente con actualizaciones en tiempo real, no requiere configuración de código, admite cualquier base del 2 al 36 en una sola interfaz, y usa BigInt para precisión arbitraria más allá de lo que ofrecen algunos valores predeterminados de los lenguajes. Es ideal para búsquedas rápidas, verificar la salida de tu código, aprender conceptos de conversión de bases visualmente y trabajar con bases no directamente soportadas por los lenguajes. Para código en producción, usa las funciones nativas de tu lenguaje; para exploración y depuración, esta herramienta es más rápida y conveniente.