Conversor de bases numéricas

Convierte entre binario, octal, decimal y hexadecimal al instante. Notación posicional con el valor de cada dígito y proceso de conversión paso a paso.

Base de origen

Dígitos permitidos: 0–9

Resultados

Binario base 2
Octal base 8
Decimal base 10
Hexadecimal base 16

Notación posicional

Proceso de conversión

Fórmulas

Cualquier base → decimal (notación posicional)

N₁₀ = dₙ·Bⁿ + dₙ₋₁·Bⁿ⁻¹ + … + d₁·B¹ + d₀·B⁰

di es el dígito en la posición i (desde 0 a la derecha), B es la base.

Decimal → otra base (divisiones sucesivas)

N = q₁·B + r₀ ; q₁ = q₂·B + r₁ ; … hasta qₙ = 0

Los restos r₀, r₁, … rₙ leídos de mayor a menor índice forman el número en base B.

Binario ↔ hexadecimal (agrupación de nibbles)

Cada 4 bits = 1 dígito hex  |  Cada dígito hex = 4 bits

0000₂ = 0₁₆, 0001₂ = 1₁₆, … 1010₂ = A₁₆, … 1111₂ = F₁₆

Sistema posicional

El valor de cada dígito depende de su posición: el dígito más a la derecha tiene peso B⁰ = 1, el siguiente B¹ = B, y así sucesivamente. Sumando todos los productos se obtiene el valor decimal.

Nibble y byte

Un nibble son 4 bits (un dígito hexadecimal). Un byte son 8 bits (dos dígitos hex, rango 00–FF). Los valores 0–255 caben en un byte, de ahí que los colores RGB usen tres bytes: #RRGGBB.

Complemento a dos

Los enteros negativos en binario se representan generalmente en complemento a dos: se invierten todos los bits y se suma 1. En un byte, −1 es 11111111₂ y −128 es 10000000₂.

Desbordamiento

Si el resultado de una operación supera el rango representable (por ejemplo, 255 + 1 en un byte sin signo), se produce un desbordamiento (overflow) y el valor "da la vuelta" a 0. Es uno de los bugs más frecuentes en sistemas embebidos.

Preguntas frecuentes

¿Por qué los ordenadores usan base 2?
Los transistores solo tienen dos estados estables: conducción (1) y corte (0). Representar información con dos estados es robusto frente al ruido eléctrico y simplifica enormemente los circuitos lógicos. Bases mayores requerirían distinguir muchos niveles de tensión, lo que aumentaría los errores.
¿Para qué se usa la base 16 en programación?
El hexadecimal es una notación compacta del binario: cada dígito hex representa exactamente 4 bits (un nibble). FF₁₆ equivale a 11111111₂, mucho más legible. Se usa en direcciones de memoria, colores RGB (#RRGGBB), códigos de error y volcados de memoria.
¿Cómo se convierte un número a decimal?
Se usa la notación posicional: cada dígito se multiplica por la base elevada a su posición. Por ejemplo, 1A3₁₆ = 1×16² + 10×16¹ + 3×16⁰ = 256 + 160 + 3 = 419. La calculadora muestra este desglose automáticamente en el diagrama de notación posicional.
¿Qué relación hay entre octal y binario?
8 = 2³, así que cada dígito octal equivale exactamente a 3 bits. Para convertir binario a octal basta con agrupar los bits de derecha a izquierda en tríos y convertir cada trío. Es la misma idea que el hex (grupos de 4 bits), solo que octal agrupa de 3 en 3.
¿Cuál es el número más grande que acepta esta calculadora?
El límite es 4 294 967 295, que es el máximo entero sin signo de 32 bits (2³² − 1 = FFFFFFFF₁₆ = 37777777777₈ = 11111111…₂ con 32 unos). Por encima de ese valor JavaScript pierde precisión entera y los resultados dejarían de ser exactos.