Sincronización bidireccional: modificar el valor decimal recalcula la secuencia binaria al instante
Convierte números binarios a decimal con nuestro conversor de precisión. Soporta complemento a dos con signo, bits fraccionarios y cálculo paso a paso.
Sincronización bidireccional: modificar el valor decimal recalcula la secuencia binaria al instante
Convierte números binarios a decimal con nuestro conversor y calculadora de alta precisión. Compatible con complemento a dos con signo, bits fraccionarios y desarrollo matemático paso a paso.
Secuencia continua de dígitos binarios evaluada mediante acumulación polinomial del método de Horner en O(n) que representa potencias de dos desde el MSB hasta el LSB. Admite puntos de base fraccionarios IEEE 754, prefijos estándar '0b' y delimitadores visuales.
Límite de registro del procesador destino que define techos de desbordamiento aritmético, posicionamiento del bit de signo y restricciones de extensión de ceros. Los valores superiores a 53 bits cambian automáticamente a BigInt de precisión arbitraria para evitar el truncamiento de mantisa IEEE 754.
Convención matemática que rige la interpretación de valores negativos. El complemento a dos asigna un peso negativo de -2^(n-1) al MSB; Sin signo trata todos los bits como magnitudes no negativas hasta 2^n - 1; Signo y magnitud reserva el bit n-1 exclusivamente para la polaridad.
Bits fraccionarios situados a la derecha del punto de base evaluados como exponentes enteros negativos de base 2 (0,5, 0,25, 0,125, 0,0625, etc.). Las fracciones racionales infinitas se acotan a la profundidad de mantisa del registro de destino.
Serialización secuencial de bytes en palabras binarias multi-octeto. Big-Endian (RFC 791 Network Byte Order) alinea el MSB en el desplazamiento de byte 0, mientras que Little-Endian (x86-64 / ARM NEON) almacena primero el LSB, requiriendo un reordenamiento de intercambio de bytes durante la inspección de paquetes de red.
Configuración de espaciado que agrupa los dígitos binarios en nibbles legibles de 4 bits u octetos de 8 bits para acelerar la inspección visual de paridad y prevenir errores de transposición en transcripciones manuales sin alterar el valor matemático.
En un sistema en complemento a dos de n bits, los valores abarcan un rango asimétrico desde -2^(n-1) hasta +2^(n-1) - 1 (por ejemplo, de -128 a +127 en 8 bits, o de -2.147.483.648 a +2.147.483.647 en 32 bits). Dado que el cero (00000000) ocupa una posición en la partición no negativa, el valor más negativo (-2^(n-1)) carece de equivalente positivo. Intentar negar -128 o calcular abs(-128) en un registro con signo de 8 bits desencadena de inmediato una excepción de desbordamiento aritmético (overflow) o un ciclo de retorno a -128 (wrap-around). Los compiladores y las rutinas criptográficas (como la aritmética modular en tiempo constante en implementaciones de Web Crypto) eluden este abismo aplicando extensión de signo a las entradas hacia un límite de palabra más amplio (ej. de int8_t a int16_t) antes de efectuar la inversión matemática.
Una fracción es finita en una base numérica dada si y solo si todos los factores primos de su denominador irreducible dividen a dicha base. En binario (base 2), el único factor primo es 2. Por consiguiente, fracciones decimales simples cuyos denominadores contienen el factor primo 5 (como 0,1 = 1/(2*5) o 0,2 = 1/5) generan desarrollos binarios periódicos infinitos: 0.0001100110011..._2. Al almacenarse en registros de coma flotante binaria IEEE 754 de 64 bits, la mantisa se trunca en 53 bits, introduciendo un error de redondeo intrínseco de 0,1000000000000000055511151231257827021181583404541015625. Los cálculos financieros y criptográficos jamás deben emplear conversiones en coma flotante binaria; utilice escalado racional exacto (pares BigInt de numerador / denominador) o representaciones en coma fija BCD.
Al dividir enteros binarios con signo entre potencias de dos mediante operaciones de desplazamiento de bits, invocar un desplazamiento lógico a la derecha (>>> en JavaScript, SHR en x86 ASM) inserta bits cero en el MSB, lo que corrompe el bit de signo y convierte instantáneamente enteros negativos con signo en valores positivos masivos sin signo (por ejemplo, -8 >>> 1 se evalúa como 2.147.483.644 en el espacio de 32 bits). Por el contrario, un desplazamiento aritmético a la derecha (>> en C/Java/JS, SAR en x86 ASM) replica el MSB en las posiciones vacantes desplazadas (extensión de signo). Téngase en cuenta que el desplazamiento aritmético a la derecha redondea hacia el infinito negativo (floor(N / 2^k)), lo que significa que -7 >> 1 devuelve -4, mientras que la división entera decimal estándar trunca hacia cero (-7 / 2 = -3).
Los estándares del IETF (RFC 791 IPv4, RFC 2460 IPv6, TCP/UDP) establecen el orden de bytes de red (Network Byte Order), que es estrictamente Big-Endian (el MSB se almacena en la dirección de memoria más baja). Los entornos de ejecución de clientes modernos (x86-64, ARM Apple Silicon) operan de forma nativa en modo Little-Endian (el LSB se almacena en la dirección más baja). Deserializar una cadena binaria de puerto de 16 bits '00000001 10111011' (443 en decimal para HTTPS) directamente en un registro de la máquina anfitriona sin invocar primitivas de intercambio de bytes (como ntohs() o DataView.prototype.getUint16(offset, false)) invierte los octetos a '10111011 00000001', evaluándose como 47.873 en decimal y provocando fallos de enrutamiento en la conexión.
Las implementaciones ingenuas de binario a decimal calculan el valor decimal de cada bit mediante llamadas separadas a funciones de potencia (suma de b_i * 2^i), lo que incurre en O(n^2) operaciones de bits para una cadena de n bits y provoca estrangulamiento de CPU (CPU throttling) en motores JavaScript de un solo hilo ante flujos masivos de bits (por ejemplo, claves criptográficas RSA de 4096 bits). El algoritmo óptimo utiliza el método de Horner: inicializar un acumulador en 0 y luego iterar de MSB a LSB ejecutando acumulador = (acumulador << 1) | bit en una única pasada O(n). En entornos aislados (sandbox) del lado del cliente, combinar esta acumulación a nivel de bits en O(n) con BigInt nativo garantiza una ejecución en submilisegundos sin bloquear el bucle de eventos (event loop) del navegador ni transmitir material sensible de claves binarias por la red.
En la evaluación en complemento a dos con signo, el bit más significativo (MSB) actúa como indicador de signo. Si se introduce un entero positivo de 8 bits como 01111111 (+127) y un analizador elimina automáticamente el cero inicial considerándolo espacio redundante, la cadena se colapsa a 7 bits: 1111111. Al evaluarse en un marco con signo de 7 bits, el 1 situado más a la izquierda se interpreta como bit de signo, transformando erróneamente +127 en -1 (-64 + 32 + 16 + 8 + 4 + 2 + 1 = -1). Solución: Declare explícitamente el ancho de palabra de la arquitectura destino (8, 16, 32 o 64 bits) para imponer el relleno con ceros (zero-padding) del registro, garantizando que los ceros a la izquierda se conserven como delimitadores de polaridad positiva.
Los tipos primitivos Number en el estándar ECMAScript se rigen por el formato de coma flotante de doble precisión IEEE 754, asignando 52 bits para la fracción más 1 bit implícito inicial. Convertir cadenas binarias de más de 53 bits (como direcciones de memoria de 64 bits o bloques de estado SHA-256) mediante parseInt(str, 2) produce una desviación silenciosa de bits, redondeando los bits menos significativos más allá de Number.MAX_SAFE_INTEGER (9.007.199.254.740.991 o 2^53 - 1). Solución: Analice secuencias binarias superiores a 53 bits directamente con BigInt nativo utilizando BigInt('0b' + cleanBinaryStr) o acumulación de Horner con BigInt, lo que admite anchos de bits arbitrarios con cero pérdida en la mantisa.
Al convertir fracciones decimales racionales a números binarios en coma fija, las fracciones cuyos denominadores poseen factores distintos de potencias de 2 generan secuencias binarias periódicas infinitas (por ejemplo, 0,3333... o 0,1 en decimal). Intentar calcular la representación decimal exacta de una fracción binaria truncada arbitrariamente sin controlar los límites racionales genera discrepancias aparentes de precisión. Solución: Defina un límite estricto de precisión fraccionaria (ej. 32 o 64 bits de mantisa) y utilice aritmética de fracciones racionales (pares racionales BigInt P/Q) junto con las reglas de desempate de redondeo al par más cercano (round-to-nearest-even) de IEEE 754 para preservar la equivalencia matemática exacta.
Pegar cadenas binarias directas desde volcados de desensamblado, capturas de paquetes de Wireshark o inspectores de memoria a menudo introduce prefijos de lenguaje ('0b', '0B'), secuencias de escape hexadecimales, delimitadores de bytes (espacios, guiones bajos, guiones, dos puntos) o saltos de línea finales. Los motores de conversión estándar rechazan los caracteres no numéricos devolviendo NaN o excepciones de sintaxis. Solución: Procese la entrada mediante un saneador determinista con expresiones regulares (`s.replace(/^0b/i, '').replace(/[^01.]/g, '')`) que elimine artefactos léxicos y valide la unicidad del punto de base en tiempo O(n) antes de la transformación numérica.
Para convertir un número binario a decimal, multiplique cada dígito binario (bit) por 2 elevado a la potencia de su peso posicional con base cero (comenzando desde 0 en el LSB situado más a la derecha) y sume los productos: Decimal = ∑ (b_i × 2^i). Por ejemplo, para convertir el binario 11010110_2 a decimal: (1 × 2^7) + (1 × 2^6) + (0 × 2^5) + (1 × 2^4) + (0 × 2^3) + (1 × 2^2) + (1 × 2^1) + (0 × 2^0) = 128 + 64 + 0 + 16 + 0 + 4 + 2 + 0 = 214 en decimal base 10. Como alternativa, el método polinomial de Horner evalúa esto de izquierda a derecha en tiempo O(n): inicie con un acumulador en 0 y, por cada bit, multiplique el acumulador por 2 y sume el bit.
En la notación en complemento a dos, el bit más significativo (MSB) tiene un peso posicional negativo igual a -2^(n-1), mientras que los n-1 bits restantes conservan pesos posicionales positivos: Decimal = (-b_{n-1} × 2^{n-1}) + ∑_{i=0}^{n-2} (b_i × 2^i). Para un valor binario con signo de 8 bits como 11111000_2, el valor decimal es (-1 × 2^7) + (1 × 2^6) + (1 × 2^5) + (1 × 2^4) + (1 × 2^3) + 0 + 0 + 0 = -128 + 64 + 32 + 16 + 8 = -8. Para reconvertir un número decimal negativo a complemento a dos, invierta todos los bits de su equivalente positivo y sume 1.
La diferencia fundamental radica en cómo se interpreta el bit más significativo (MSB): el formato binario sin signo asigna a todos los n bits un peso no negativo (rango: 0 a 2^n - 1), mientras que el formato con signo utiliza el MSB como indicador de polaridad mediante complemento a dos (rango: -2^(n-1) a +2^(n-1) - 1). Por ejemplo, la secuencia de 8 bits 11111111 equivale a 255 en notación sin signo, pero representa -1 en complemento a dos con signo. Seleccionar una convención de signo errónea provoca graves fallos de desbordamiento por defecto (underflow) o errores cíclicos de registro en el software.
Para convertir un número binario fraccionario con punto de base (radix point) a decimal, sume las potencias positivas de 2 para los bits enteros a la izquierda del punto y las potencias negativas de 2 (2^-j) para los bits fraccionarios a la derecha: Decimal = ∑ (b_i × 2^i) + ∑ (b_{-j} × 2^{-j}). Por ejemplo, para el binario 1011.1101_2: la parte entera es 8 + 0 + 2 + 1 = 11; la parte fraccionaria es (1 × 2^-1 = 0,5) + (1 × 2^-2 = 0,25) + (0 × 2^-3 = 0) + (1 × 2^-4 = 0,0625) = 0,8125. La suma de ambas partes da como resultado 11,8125 en decimal.
Los ordenadores y computadoras utilizan el sistema binario porque los transistores de semiconductores físicos operan con márgenes de ruido óptimos y nula ambigüedad eléctrica en dos estados bien diferenciados: saturación o encendido (tensión alta, que representa el 1 lógico) y corte o apagado (tensión nula o tierra, que representa el 0 lógico). Una computadora electrónica en base 10 requeriría distinguir 10 umbrales de tensión sumamente estrechos (ej. 0,3 V, 0,6 V, 0,9 V), lo cual sufriría una degradación crítica debido al ruido térmico, envejecimiento de componentes y fugas capacitivas, mientras que la conmutación binaria se integra de manera directa con el álgebra booleana y las puertas lógicas CMOS.
La función parseInt() de JavaScript convierte las cadenas binarias en números de coma flotante de doble precisión según IEEE 754, los cuales ofrecen únicamente 53 bits de precisión exacta en su significando entero (Number.MAX_SAFE_INTEGER = 2^53 - 1 = 9.007.199.254.740.991). Al procesar un entero binario de 64 bits que supera los 53 bits, los 11 bits menos significativos se redondean al valor flotante representable más cercano, ocasionando una corrupción silenciosa de datos. Para conversiones completas de 64 o 128 bits con o sin signo, es imprescindible utilizar BigInt nativo de precisión arbitraria: BigInt('0b' + binaryString).
Convierte códigos de color HEX a RGBA con opacidad y transparencia alfa al instante. Admite códigos hex de 3, 6 y 8 dígitos, conversión por lotes y salida CSS lista para usar.
Calculadora de comisiones de ventas para liquidaciones, tramos progresivos, splits de agentes y corretaje. Proyecte ingresos o resuelva objetivos para cumplir su cuota.
Elige opciones, nombres o ganadores de sorteos con ponderación personalizada, modo eliminación, giros justos con CSPRNG y generador de equipos.
Calcule el interés simple, liquidación total del préstamo y valor al vencimiento con cómputo exacto de días. Despeje capital, tipo o plazo y analice el impacto frente al interés compuesto.
Calcule el ahorro en su cuota mensual, la reducción total de intereses y el punto de equilibrio al refinanciar su auto. Compare nuevas tasas, plazos y comisiones.
Calcula tu frecuencia cardíaca objetivo y 5 zonas de entrenamiento aeróbico con las fórmulas de Karvonen y Tanaka. Optimiza la quema de grasas, el VO2 máx y el control del pulso.