Las bases numéricas (también llamadas radices) definen cuántos símbolos de dígitos únicos se usan en un sistema numérico posicional — los humanos usan la base 10 (decimal, dígitos 0–9) casi exclusivamente para la aritmética diaria, pero las computadoras operan internamente en base 2 (binario, dígitos 0 y 1), los programadores leen direcciones de memoria en base 16 (hexadecimal, dígitos 0–9 y A–F), y los permisos de archivos de Unix se expresan tradicionalmente en base 8 (octal). Convertir entre bases es fundamental para la informática, la programación embebida y la electrónica digital. Las secciones siguientes cubren por qué existen las diferentes bases y cuándo se usa cada una, cómo funciona la notación posicional de forma idéntica en cualquier base, y el complemento a dos — la ingeniosa representación que permite a las computadoras manejar enteros negativos con los mismos circuitos usados para los positivos.
Por Qué Persisten el Binario, el Octal y el Hexadecimal
Las computadoras operan en binario porque los circuitos digitales tienen exactamente dos estados estables — voltaje alto (1) o bajo (0) — y cualquier otra representación de datos debe mapearse a esta capa binaria subyacente. Un transistor en silicio está conduciendo o no; un dominio magnético apunta de una forma o de otra; una celda en memoria flash almacena carga alta o baja. La representación binaria no es, por lo tanto, una elección de diseño sino una restricción física del hardware digital.
El hexadecimal (base 16) persiste porque cada dígito hexadecimal representa exactamente 4 dígitos binarios, haciendo del hexadecimal una abreviatura compacta y legible por humanos para el binario: un byte (8 bits) toma solo 2 dígitos hexadecimales (00–FF) en lugar de 8 dígitos binarios (00000000–11111111). Las direcciones de memoria, los códigos de color (#FF5733), las direcciones MAC y los valores hash usan todos hexadecimal por legibilidad. El octal (base 8) representa 3 dígitos binarios por símbolo y sobrevive en los permisos de archivos de Unix (rwxr-xr-x = 755) y algunos sistemas embebidos. La base 10 es puramente una conveniencia humana derivada de tener 10 dedos — las computadoras no usan decimal internamente y convierten solo para mostrarlo a los usuarios humanos, introduciendo errores de redondeo (como que 0.1 no es exactamente representable en binario) que ocasionalmente sorprenden a los programadores.
Notación Posicional en Cualquier Base
La notación posicional funciona de forma idéntica en cualquier base — cada posición de dígito representa una potencia de la base. En base 10, el número 5,273 significa 5×10³ + 2×10² + 7×10¹ + 3×10⁰ = 5000 + 200 + 70 + 3. En base 2, el número binario 1101 significa 1×2³ + 1×2² + 0×2¹ + 1×2⁰ = 8 + 4 + 0 + 1 = 13 decimal. En base 16, el número hexadecimal 2AF significa 2×16² + 10×16¹ + 15×16⁰ = 512 + 160 + 15 = 687 decimal.
Esta uniformidad significa que el algoritmo de conversión es idéntico sin importar las bases involucradas: multiplica cada dígito por su peso posicional y suma los resultados para obtener el decimal, luego divide repetidamente entre la base objetivo y registra los residuos para convertir de decimal a cualquier otra base. La calculadora automatiza este proceso mientras también admite bases personalizadas de 2 a 36 (usando los dígitos 0-9 seguidos de las letras A-Z para los dígitos de mayor valor). La base 36 es la máxima representable con caracteres alfanuméricos estándar y se usa ocasionalmente para la codificación compacta de enteros grandes (acortadores de URL, identificadores de archivos) donde los números decimales de 10 dígitos pueden comprimirse en representaciones de base 36 de 6 dígitos.
Complemento a Dos para Enteros con Signo
Las computadoras necesitan una forma de representar enteros negativos de manera eficiente, y el complemento a dos es la solución moderna universal usada en prácticamente todas las CPU fabricadas desde los años 70. En el complemento a dos de n bits, el bit más significativo representa -2^(n-1) mientras que los bits restantes representan valores positivos. Para el complemento a dos de 8 bits: el valor 00000001 es +1, 01111111 es +127 (máximo), 10000000 es -128 (mínimo), y 11111111 es -1. El rango para enteros con signo de n bits es de -2^(n-1) a +2^(n-1)-1, que es asimétrico porque el cero toma uno de los códigos positivos.
El complemento a dos tiene una ventaja práctica crítica: la suma y la resta funcionan de forma idéntica a la aritmética sin signo sin ningún caso especial para los números negativos, por lo que el hardware necesita solo un circuito sumador tanto para operaciones con signo como sin signo. Para negar un número, invierte todos los bits y suma 1 — eso es todo. Las representaciones alternativas (signo-magnitud, complemento a uno) cayeron en desuso porque requieren lógica de hardware separada para operaciones con signo o tienen dos representaciones del cero (+0 y -0), ambas añadiendo complejidad sin beneficio. La calculadora muestra la representación en complemento a dos para cualquier valor entero en anchos de 8, 16, 32 o 64 bits, lo cual es especialmente útil al depurar código embebido o decodificar formatos de archivos binarios donde los valores con signo son comunes.