Guía
Cómo convertir binario a decimal paso a paso
Convierte un número binario a decimal sumando potencias de dos, con un ejemplo desarrollado y comprobación exacta.
por Tools in a Tab · Publicado el · Revisado el
Respuesta breve
Para convertir un entero binario a decimal, numera sus posiciones desde cero
empezando por la derecha. Multiplica cada bit por 2 elevado a su posición y
suma los resultados. Los bits 0 no aportan valor; cada bit 1 añade la
potencia de dos correspondiente.
Ejemplo: convertir 101101 a decimal
Descomponemos las seis posiciones:
| Bit | Posición | Valor de la posición | Aporte |
|---|---|---|---|
1 |
5 | 2⁵ |
32 |
0 |
4 | 2⁴ |
0 |
1 |
3 | 2³ |
8 |
1 |
2 | 2² |
4 |
0 |
1 | 2¹ |
0 |
1 |
0 | 2⁰ |
1 |
101101₂ = 32 + 8 + 4 + 1 = 45₁₀
Puedes pegar 0b101101 o elegir la base binaria en el
conversor de bases
para verificar que el resultado es 45.
Método acumulativo para números largos
También puedes recorrer los bits de izquierda a derecha. En cada paso, multiplica el resultado anterior por dos y suma el bit nuevo:
1 → 2 → 5 → 11 → 22 → 45
Este procedimiento y la suma de potencias son equivalentes. El método acumulativo evita escribir una tabla grande y es el que resulta natural al procesar una cadena de bits.
Ceros iniciales, signo y complemento a dos
Los ceros iniciales no cambian el valor: 00101101 también es 45. Un signo
explícito se aplica al número completo, por lo que -101101₂ representa
-45₁₀ en notación matemática.
No interpretes automáticamente el primer bit como signo. El patrón 11111111
vale 255 como entero binario sin signo, pero puede representar -1 si un
protocolo declara expresamente complemento a dos de 8 bits. Sin conocer esa
anchura y esa convención no existe una única interpretación con signo.
Errores frecuentes y comprobación
- Empezar las posiciones por
1; la cifra de la derecha siempre multiplica por2⁰, que vale1. - Aceptar cifras distintas de
0y1. - Omitir bits intermedios con valor cero y desplazar las posiciones restantes.
- Usar aritmética de punto flotante para enteros mayores que el rango exacto del lenguaje.
La comprobación inversa consiste en dividir el decimal entre dos y leer los
restos en orden inverso. La operación exacta con enteros grandes utilizada por
la herramienta sigue la representación BigInt definida por
ECMAScript.