¿Qué es la Calculadora de Complemento a Dos?
El complemento a dos es la forma estándar en que los ordenadores almacenan los enteros con signo. Esta calculadora convierte cualquier número decimal en su representación binaria en complemento a dos para el ancho de bits que elijas (4, 8, 16 o 32 bits) y te muestra tanto el valor sin signo del patrón de bits como el valor con signo que esos bits representan.
Cómo usarla
Introduce un número decimal —positivo o negativo— y selecciona el ancho de bits. La herramienta reduce el número módulo \(2^{n}\), generando el patrón de bits exacto que almacenaría una CPU. Además te indica qué valor con signo decodifica ese mismo patrón, de modo que puedas comprobar la conversión de ida y vuelta.
La fórmula explicada
Para un campo de n bits, la representación sin signo es
$$u = ((x \bmod 2^{n}) + 2^{n}) \bmod 2^{n}$$Esto «envuelve» los números negativos: en 8 bits, −5 se convierte en \(256 - 5 = 251\), cuyo binario es 11111011. Para decodificar un patrón de vuelta a un valor con signo, fíjate en el bit más significativo (MSB): si vale 1 (es decir, \(u \ge 2^{n-1}\)), el valor es \(u - 2^{n}\); en caso contrario, es simplemente \(u\). Una forma equivalente de negar un número es invertir todos los bits y sumar uno: \(\sim x + 1\).
$$\text{Unsigned} = \left(\,\text{Decimal} \bmod 2^{\text{Bits}}\,\right),\qquad \text{Signed} = \begin{cases} \text{Unsigned} & \text{Unsigned} < 2^{\,\text{Bits}-1} \\[4pt] \text{Unsigned} - 2^{\text{Bits}} & \text{otherwise} \end{cases}$$
Ejemplo resuelto
Convirtamos −5 a complemento a dos de 8 bits. Paso 1: \(2^{8} = 256\). Paso 2: \(u = ((-5 \bmod 256) + 256) \bmod 256 = 251\). Paso 3: 251 en binario es 11111011. Como el MSB vale 1, el valor con signo es \(251 - 256 = -5\), lo que confirma la conversión.
Preguntas frecuentes
¿Qué ocurre si mi número es demasiado grande para el ancho de bits? Se «envuelve» (desbordamiento) módulo \(2^{n}\), exactamente como lo haría el hardware. Por ejemplo, 300 en 8 bits se convierte en \(300 - 256 = 44\).
¿Por qué el valor sin signo difiere del valor con signo? Los mismos bits pueden leerse de dos maneras. La lectura sin signo interpreta todos los bits como positivos; la lectura con signo trata el bit superior como un peso negativo.
¿Admite 64 bits? Esta herramienta soporta hasta los anchos habituales de 32 bits para mantener los resultados dentro de un margen de precisión seguro.