Conversor de Binario a Decimal
Convierte números binarios a decimal y decimal a binario al instante. Compatible con números de hasta 64 bits. Conversor gratuito con resultados instantáneos y precisos.
Cómo funciona la conversión de binario a decimal
El binario (base-2) solo utiliza los dígitos 0 y 1. Cada posición representa una potencia de 2, que se duplica desde la izquierda hacia la derecha. Para convertir binario a decimal, multiplica cada dígito binario por su valor de posición y suma los resultados.
Ejemplo: Convertir 1011₂ a decimal
- Posición 3 (izquierda): 1 × 2³ = 1 × 8 = 8
- Posición 2: 0 × 2² = 0 × 4 = 0
- Posición 1: 1 × 2¹ = 1 × 2 = 2
- Posición 0 (derecha): 1 × 2⁰ = 1 × 1 = 1
- Total: 8 + 0 + 2 + 1 = 11
Para decimal a binario, divide repetidamente por 2 y registra los restos de abajo a arriba. 11 ÷ 2 = 5 R1, 5 ÷ 2 = 2 R1, 2 ÷ 2 = 1 R0, 1 ÷ 2 = 0 R1 → leyendo los restos hacia arriba: 1011.
Este sistema de notación posicional funciona de la misma manera que el decimal — solo con una base diferente. En decimal (base-10), el número 347 significa 3×10² + 4×10¹ + 7×10⁰ = 300 + 40 + 7. El binario utiliza el mismo principio con potencias de 2 en lugar de potencias de 10.
Referencia de valores de posición binaria
El byte de 8 bits es la unidad fundamental de almacenamiento de computadora. Aquí está la tabla completa de valores de posición para números de 8 bits (0–255):
| Posición de bit | Potencia de 2 | Valor decimal |
|---|---|---|
| Bit 7 (MSB) | 2⁷ | 128 |
| Bit 6 | 2⁶ | 64 |
| Bit 5 | 2⁵ | 32 |
| Bit 4 | 2⁴ | 16 |
| Bit 3 | 2³ | 8 |
| Bit 2 | 2² | 4 |
| Bit 1 | 2¹ | 2 |
| Bit 0 (LSB) | 2⁰ | 1 |
Un byte puede representar cualquier valor desde 0 (00000000₂) hasta 255 (11111111₂). Dos bytes (16 bits) cubren 0–65,535. Cuatro bytes (32 bits) cubren 0–4,294,967,295.
Tabla extendida de potencias de 2
Para programadores y científicos de la computación, saber las potencias de 2 hasta 2⁶⁴ es esencial para entender la dirección de memoria, tipos de datos y límites del sistema:
| Potencia | Valor decimal | Significado |
|---|---|---|
| 2⁰ | 1 | Unidad más pequeña (1 bit) |
| 2⁸ | 256 | Rango de 1 byte (0–255) |
| 2¹⁰ | 1,024 | 1 KiB (kibibyte) |
| 2¹⁶ | 65,536 | Rango de 16 bits; límite de puerto TCP |
| 2²⁰ | 1,048,576 | 1 MiB (mebibyte) |
| 2²⁴ | 16,777,216 | Color de 24 bits (16.7M colores) |
| 2³⁰ | 1,073,741,824 | 1 GiB (gibibyte) |
| 2³² | 4,294,967,296 | Espacio de dirección de 32 bits; IPv4 máximo |
| 2⁴⁰ | 1,099,511,627,776 | 1 TiB (tebibyte) |
| 2⁶⁴ | 18,446,744,073,709,551,616 | Espacio de dirección de 64 bits; CPUs modernas |
Nota la diferencia entre prefijos binarios (KiB, MiB, GiB — potencias de 2) y prefijos SI (KB, MB, GB — potencias de 10). 1 GB = 1,000,000,000 bytes; 1 GiB = 1,073,741,824 bytes. Esta diferencia de ~7% explica por qué un disco duro de 500 GB muestra como ~465 GiB en tu sistema operativo (que utiliza unidades binarias internamente).
Valores binarios comunes en la computación
Estos valores binarios aparecen con frecuencia en programación, redes y administración de sistemas:
| Binario | Decimal | Hexadecimal | Contexto |
|---|---|---|---|
| 00000000 | 0 | 0x00 | Byte nulo, canal de color negro |
| 00001010 | 10 | 0x0A | Carácter de salto de línea (LF) — salto de línea de Unix |
| 00001101 | 13 | 0x0D | Retorno de carro (CR) — parte de salto de línea de Windows |
| 00100000 | 32 | 0x20 | Carácter de espacio (ASCII) |
| 01000001 | 65 | 0x41 | ASCII 'A' |
| 01100001 | 97 | 0x61 | ASCII 'a' (diferente de 'A' por bit 5) |
| 01111111 | 127 | 0x7F | IP local (último octeto); carácter DEL |
| 10000000 | 128 | 0x80 | Inicio de ASCII extendido / bit de signo |
| 11000000 | 192 | 0xC0 | Prefixo de red de clase C (192.x.x.x) |
| 11111111 | 255 | 0xFF | Transmisión en broadcast; byte máximo; blanco en RGB |
Comparación de binario, hexadecimal y octal
Los programadores utilizan diferentes bases numéricas dependiendo del contexto. Aquí está cómo los mismos valores aparecen en cada sistema:
| Decimal | Binario | Hexadecimal | Octal | Uso |
|---|---|---|---|---|
| 0 | 0000 | 0x0 | 0o0 | Cero / nulo |
| 7 | 0111 | 0x7 | 0o7 | Permiso de Unix (rwx) |
| 10 | 1010 | 0xA | 0o12 | — |
| 15 | 1111 | 0xF | 0o17 | Máximo 4-bit (nibble) |
| 16 | 10000 | 0x10 | 0o20 | — |
| 127 | 1111111 | 0x7F | 0o177 | Máximo firmado 8-bit |
| 255 | 11111111 | 0xFF | 0o377 | Máximo no firmado 8-bit |
| 511 | 111111111 | 0x1FF | 0o777 | Permiso de Unix rwxrwxrwx |
| 1023 | 1111111111 | 0x3FF | 0o1777 | Máximo 10-bit (ADC) |
El hexadecimal es la forma más común de abreviar binario porque cada dígito hexadecimal se mapea exactamente a 4 bits binarios — lo que hace que la conversión sea trivial. El octal mapea 3 bits por dígito y se utiliza principalmente para permisos de archivo de Unix (por ejemplo, chmod 755 = 111 101 101 en binario = rwxr-xr-x).
Números binarios firmados (Complemento de dos)
Los ordenadores representan los números negativos utilizando el complemento de dos — el estándar definido por IEEE y utilizado por todos los procesadores modernos. En un sistema de complemento de dos de 8 bits:
| Binario | Decimal sin signo | Sentido (Complemento de dos) |
|---|---|---|
| 00000000 | 0 | 0 |
| 00000001 | 1 | +1 |
| 01111111 | 127 | +127 (máximo positivo) |
| 10000000 | 128 | −128 (mínimo negativo) |
| 10000001 | 129 | −127 |
| 11111110 | 254 | −2 |
| 11111111 | 255 | −1 |
Para negar un número en complemento de dos: invierte todos los bits y suma 1. Por ejemplo, +5 = 00000101 → invierte → 11111010 → suma 1 → 11111011 = −5.
Los rangos para los tipos de entero comunes:
| Tipo | Bits | Rango sin signo | Rango con signo |
|---|---|---|---|
| byte / uint8 | 8 | 0 a 255 | −128 a +127 |
| short / int16 | 16 | 0 a 65.535 | −32.768 a +32.767 |
| int / int32 | 32 | 0 a 4.294.967.295 | −2.147.483.648 a +2.147.483.647 |
| long / int64 | 64 | 0 a 18,4 × 10¹⁸ | −9,2 × 10¹⁸ a +9,2 × 10¹⁸ |
Binario en la tecnología cotidiana
El binario es la base de todo el cálculo moderno porque los transistores tienen dos estados estables (encendido/apagado, 1/0). Aplicaciones clave:
- Tamaños de archivo: 1 kilobyte = 2¹⁰ = 1.024 bytes; 1 megabyte = 2²⁰ = 1.048.576 bytes; 1 gigabyte = 2³⁰ bytes
- Colores: Los colores RGB son tres valores de 8 bits. #FF5733 en hexadecimal = (255, 87, 51) en decimal = (11111111, 01010111, 00110011) en binario
- Codificación ASCII: La letra 'A' = decimal 65 = binario 01000001; 'a' = 97 = 01100001
- Unicode: La mayoría de los caracteres de texto caben en 16 bits binarios (0–65.535)
- Direcciones IP: Las direcciones IPv4 son cuatro grupos de 8 bits binarios: 192.168.1.1 = 11000000.10101000.00000001.00000001
Entender el binario directamente ayuda en la programación (operaciones bit a bit, banderas), la red (cálculos de IP/subred) y trabajar con hardware de bajo nivel.
Aritmética binaria: suma y resta
La aritmética binaria sigue las mismas reglas que la decimal, pero con solo dos dígitos. La tabla de suma es:
| A | B | Suma | Resto |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |
Ejemplo: 1011 + 0110
Trabajando de derecha a izquierda: 1+0=1, 1+1=10 (escribir 0 resto 1), 0+1+1=10 (escribir 0 resto 1), 1+0+1=10 (escribir 0 resto 1). Resultado: 10001 (decimal: 11+6=17)
La resta en hardware se realiza típicamente sumando el complemento de dos del subtrahendo. Para calcular A−B, el procesador calcula A + (−B), donde −B es el complemento de dos de B. Esto permite que un circuito de suma maneje tanto la suma como la resta.
Operaciones bit a bit
Los lenguajes de programación proporcionan operadores bit a bit que manipulan bits individuales. Estos son fundamentales para la programación de bajo nivel, sistemas embebidos y optimización de rendimiento:
| Operación | Símbolo | Ejemplo (8 bits) | Resultado | Uso |
|---|---|---|---|---|
| Y | & | 10110101 & 11110000 | 10110000 | Aplicar máscaras, extraer campos |
| O | | | 10110101 | 00001111 | 10111111 | Establecer bits, combinar banderas |
| XOR | ^ | 10110101 ^ 11111111 | 01001010 | Alternar bits, simple cifrado |
| NOT | ~ | ~10110101 | 01001010 | Inversión de bits |
| Desplazamiento a la izquierda | << | 00000101 << 2 | 00010100 | Multiplicar por 2ⁿ |
| Desplazamiento a la derecha | >> | 00010100 >> 2 | 00000101 | Dividir por 2ⁿ |
El desplazamiento de bits es significativamente más rápido que la multiplicación/división en muchos procesadores. x << 1 es equivalente a x × 2, y x >> 1 es equivalente a x ÷ 2 (división entera). Los motores de juegos y el firmware embebido utilizan estas operaciones extensivamente para mejorar el rendimiento.
Código binario decimal (BCD)
El código binario decimal representa cada dígito decimal con su propio patrón binario de 4 bits. A diferencia del binario puro, el BCD preserva la estructura decimal:
| Decimal | Binario puro | BCD |
|---|---|---|
| 0 | 0000 | 0000 |
| 5 | 0101 | 0101 |
| 9 | 1001 | 1001 |
| 10 | 1010 | 0001 0000 |
| 42 | 101010 | 0100 0010 |
| 99 | 1100011 | 1001 1001 |
| 255 | 11111111 | 0010 0101 0101 |
El BCD es menos eficiente en espacio que el binario puro (10 de las 16 combinaciones posibles de 4 bits se utilizan), pero simplifica la representación decimal — cada nibble se mapea directamente a un dígito mostrado. El BCD se utiliza en relojes digitales, calculadoras, sistemas financieros (donde la representación decimal exacta importa) y bases de datos de mainframe antiguas (COBOL, IBM EBCDIC).
Floating-Point Binario (IEEE 754)
Números decimales con partes fraccionarias (como 3,14) se almacenan en binario utilizando el estándar IEEE 754. Un float de 32 bits (precisión simple) tiene tres partes:
| Campo | Bits | Propósito |
|---|---|---|
| Sello | 1 | 0 = positivo, 1 = negativo |
| Exponente | 8 | Exponente sesgado (sesgo = 127) |
| Mantisa (significando) | 23 | Parte fraccionaria (1 implícito de cabeza) |
Ejemplo: El número decimal −6,5 en IEEE 754 de precisión simple:
- Sello = 1 (negativo)
- 6,5 en binario = 110,1₂ = 1,101 × 2² (normalizado)
- Exponente = 2 + 127 (sesgo) = 129 = 10000001₂
- Mantisa = 10100000000000000000000 (23 bits, 1 implícito de cabeza omitido)
- Representación completa: 1 10000001 10100000000000000000000
Por eso 0,1 + 0,2 ≠ 0,3 en la mayoría de los lenguajes de programación — la fracción decimal 0,1 tiene una representación infinita en binario (como 1/3 en decimal = 0,333…), por lo que debe redondearse, introduciendo errores pequeños. Para cálculos financieros, utilice bibliotecas de aritmética decimal (módulo decimal de Python, BigDecimal de Java) en lugar de aritmética de punto flotante.
Codificación de Caracteres: De ASCII a UTF-8
El texto se almacena como números binarios mapeados a caracteres. La evolución de la codificación de caracteres refleja la expansión global de la computación:
| Codificación | Año | Bits por Carácter | Caracteres Soportados | Notas |
|---|---|---|---|---|
| ASCII | 1963 | 7 (almacenado en 8) | 128 | Letras en inglés, dígitos, puntuación |
| ASCII Extendido (ISO 8859-1) | 1987 | 8 | 256 | Caracteres de Europa occidental (é, ñ, ü) |
| UTF-8 | 1993 | 8–32 (variable) | 1,112,064 | Compatibilidad hacia atrás con ASCII; estándar de la web |
| UTF-16 | 1996 | 16–32 (variable) | 1,112,064 | Usado en Java, Windows, JavaScript interno |
| UTF-32 | 2000 | 32 (fijo) | 1,112,064 | Ancho fijo; desperdicia espacio para texto latino |
UTF-8 codifica los caracteres ASCII en un solo byte (idéntico a ASCII plano), los caracteres europeos en 2 bytes, los caracteres CJK en 3 bytes y los emojis en 4 bytes. El 98% de todas las páginas web utilizan la codificación UTF-8 (según W3Techs, 2024).
Las Puertas Lógicas Binarias
Las puertas lógicas son los bloques de construcción físicos de todos los circuitos digitales. Cada puerta realiza una operación binaria simple en uno o dos bits de entrada:
| Puerta | Símbolo | Tabla de Verdad (A,B → Salida) | Descripción |
|---|---|---|---|
| Y | A·B | 0,0→0; 0,1→0; 1,0→0; 1,1→1 | La salida es 1 solo cuando ambos entradas son 1 |
| O | A+B | 0,0→0; 0,1→1; 1,0→1; 1,1→1 | La salida es 1 cuando al menos una entrada es 1 |
| No | ¬A | 0→1; 1→0 | Invierte la entrada |
| NAND | ¬(A·B) | 0,0→1; 0,1→1; 1,0→1; 1,1→0 | Y seguido de No — puerta universal |
| XOR | A⊕B | 0,0→0; 0,1→1; 1,0→1; 1,1→0 | La salida es 1 cuando las entradas difieren |
La puerta NAND se llama puerta universal porque cualquier otra función lógica se puede construir utilizando solo puertas NAND. Los procesadores modernos contienen miles de millones de transistores dispuestos en puertas NAND y NOR, que luego se combinan en sumadores, multiplexores, relojes de cambio y todos los demás bloques de construcción de un procesador. El chip Apple M3 contiene aproximadamente 25 mil millones de transistores — cada uno es un interruptor binario microscópico que está encendido (1) o apagado (0).
La puerta XOR tiene una propiedad especial: produce 1 cuando las dos entradas son diferentes. Esto la convierte en la base de la suma binaria (la suma de un sumador de mitad), la detección de errores (verificación de paridad) y la simple criptografía (cifrado XOR).
Historia de la Binaria: De Leibniz a la Computación Moderna
El sistema numérico binario tiene una rica historia intelectual:
| Año | Persona/Evento | Contribución |
|---|---|---|
| ~300 a.C. | Pingala (matemático indio) | Usó un sistema binario similar para clasificar metros poéticos |
| 1679 | Gottfried Leibniz | Describió formalmente la aritmética binaria moderna; vio conexiones con el I Ching chino |
| 1847 | George Boole | Publicó "Análisis Matemático de la Lógica" — Fundamentos de la algebra booleana |
| 1937 | Claude Shannon (tesis de maestría de MIT) | Mostró que la algebra booleana podía modelar circuitos de interruptores eléctricos |
| 1945 | John von Neumann | Propuso la arquitectura de computadora binaria almacenada (arquitectura de von Neumann) |
| 1971 | Intel 4004 | Primer procesador comercial — 2,300 transistores, arquitectura binaria de 4 bits |
| 2024 | Procesadores modernos | Billones de transistores; arquitectura binaria de 64 bits estándar |
La intuición de Leibniz de que todos los números podían expresarse utilizando solo 0 y 1 era puramente matemática — nunca imaginó computadoras electrónicas. La tesis de maestría de Shannon de 1937 conectó la lógica booleana (binaria) con relés eléctricos, creando la base teórica para todas las electrónica digital. Se ha llamado "posiblemente la tesis de maestría más importante del siglo XX".
Binario en Redes: Direcciones IP y Máscaras de Subred
Entender el binario es esencial para la administración de redes. Las direcciones IP y máscaras de subred son números binarios de 32 bits:
| Descripción | Décimales Puntuados | Binario |
|---|---|---|
| Dirección IP | 192.168.1.100 | 11000000.10101000.00000001.01100100 |
| Máscara de subred (/24) | 255.255.255.0 | 11111111.11111111.11111111.00000000 |
| Dirección de red | 192.168.1.0 | 11000000.10101000.00000001.00000000 |
| Dirección de difusión | 192.168.1.255 | 11000000.10101000.00000001.11111111 |
La dirección de red se calcula AND-eando la IP con la máscara de subred. La dirección de difusión establece todos los bits de host en 1. El número de direcciones de host utilizables = 2^(32−prefijo) − 2. Para una red /24: 2⁸ − 2 = 254 direcciones de host.
Tamaños de subred comunes:
| CIDR | Máscara de subred | Hosts | Uso típico |
|---|---|---|---|
| /32 | 255.255.255.255 | 1 | Ruta de host único |
| /30 | 255.255.255.252 | 2 | Enlace punto a punto |
| /24 | 255.255.255.0 | 254 | Red LAN estándar |
| /16 | 255.255.0.0 | 65,534 | Red de campus grande |
| /8 | 255.0.0.0 | 16,777,214 | Asignación de clase A |
Preguntas Frecuentes
¿Cómo convierto 1100 a decimal?
1100 en binario: 1×8 + 1×4 + 0×2 + 0×1 = 8 + 4 = 12. Entonces, binario 1100 = 12 en decimal.
¿Qué es 255 en binario?
255 en binario es 11111111 — todos los ocho bits establecidos en 1. Este es el valor máximo de un byte y aparece en redes (máscara de subred 255.255.255.0) y valores de color (rojo completo = 255, 0, 0).
¿Cómo convierto 100 a binario?
Dividir repetidamente por 2: 100÷2=50 R0, 50÷2=25 R0, 25÷2=12 R1, 12÷2=6 R0, 6÷2=3 R0, 3÷2=1 R1, 1÷2=0 R1. Leyendo los restos hacia arriba: 1100100₂. Verificar: 64+32+4 = 100. ✓
¿Cuál es la diferencia entre binario y hexadecimal?
El binario utiliza base 2 (dígitos 0–1); el hexadecimal utiliza base 16 (dígitos 0–9, A–F). El hex es un acrónimo compacto para binario — cada dígito de hex representa exactamente 4 bits binarios. Por ejemplo, hex FF = binario 11111111 = decimal 255.
¿Por qué los computadoras usan binario en lugar de decimal?
Circuitos electrónicos son naturales binarios: un transistor está encendido (1) o apagado (0), y la tensión es alta o baja. El decimal requeriría 10 niveles de tensión distintos, lo cual es difícil de implementar de manera confiable en hardware. El binario es tolerante al ruido y se mapea perfectamente a operaciones lógicas verdadero/falso.
¿Qué es el complemento a dos?
El complemento a dos es el método estándar para representar números enteros firmados (positivos y negativos) en binario. Para encontrar el complemento a dos (negativo) de un número: invierte todos los bits y suma 1. En un sistema de 8 bits, +5 es 00000101, y −5 es 11111011. El bit más a la izquierda es el bit de signo: 0 = positivo, 1 = negativo. Este sistema permite que el hardware utilice el mismo circuito de suma para la suma y la resta.
¿Cómo convierto binario a hexadecimal?
Grupos los dígitos binarios en conjuntos de 4 desde la derecha hacia la izquierda, luego convierte cada conjunto. Ejemplo: 10110101₂ → 1011 0101 → B5₁₆. Los grupos son: 0000=0, 0001=1, 0010=2, ..., 1001=9, 1010=A, 1011=B, 1100=C, 1101=D, 1110=E, 1111=F.