Conectar vía MCP →

Ingresar cálculo

Fórmula

Publicidad

Resultados

Two's Complement Binary (8-bit)
11111011
patrón de bits almacenado
Valor almacenado sin signo 251
Interpretación con signo -5
Complemento a dos (negación) 5

¿Qué es una calculadora de complemento a dos?

El complemento a dos es la forma estándar en que los ordenadores representan los enteros con signo usando un número fijo de bits. Esta calculadora toma un número decimal y un ancho de registro de n bits, y te muestra cómo se almacena ese valor como patrón de bits en complemento a dos, qué valor sin signo representan esos bits y cómo se interpretan como número con signo. Funciona tanto con valores positivos como negativos.

Cómo usarla

Introduce el valor decimal que quieres codificar y el número de bits (lo habitual es 8, 16 o 32). La calculadora ajusta el valor dentro del registro de n bits mediante aritmética modular, muestra la representación binaria y decodifica su interpretación con signo. Los valores negativos se almacenan automáticamente en su forma de complemento a dos.

La fórmula, explicada

Para almacenar un valor \(x\) en \(n\) bits, el patrón almacenado (sin signo) se calcula como $$\text{almacenado} = \left(\left(x \bmod 2^{n}\right) + 2^{n}\right) \bmod 2^{n}.$$ El complemento a dos (la negación) de un valor almacenado es $$\text{complemento} = \left(2^{n} - \text{almacenado}\right) \bmod 2^{n}.$$ Para decodificar el significado con signo de un patrón de \(n\) bits: si el patrón es mayor o igual que \(2^{n-1}\), el valor es \(\text{patrón} - 2^{n}\) (negativo); en caso contrario, es el propio patrón.

Celdas binarias de ocho bits con el bit más a la izquierda marcado como el peso del signo negativo
En complemento a dos, el bit más significativo tiene un peso negativo, dividiendo el rango en valores positivos y negativos.

Ejemplo resuelto

Codifiquemos -5 en 8 bits. Aquí \(2^{8} = 256\), así que $$\text{almacenado} = \left(\left(-5 \bmod 256\right) + 256\right) \bmod 256 = 251.$$ En binario, \(251 = 11111011\). Al decodificar 251: como \(251 \ge 2^{7}\) (128), el valor con signo es \(251 - 256 = -5\). El complemento a dos de 251 es \(\left(256 - 251\right) \bmod 256 = 5\), que coincide con la magnitud.

Diagrama de tres pasos: bits originales, bits invertidos y luego sumar uno para negar
Para negar un valor, invierte todos los bits y suma uno.

Preguntas frecuentes

¿Por qué los números negativos parecen patrones binarios enormes? Los bits iniciales son unos; en la aritmética con signo de \(n\) bits, un 1 al principio indica un número negativo, así que 11111011 es -5, no 251.

¿Qué rango cabe en \(n\) bits? Los valores con signo van de \(-2^{n-1}\) a \(2^{n-1} - 1\). Para 8 bits, eso es de -128 a 127.

¿Y si mi número es demasiado grande? Los valores que se salen del registro «dan la vuelta» (desbordamiento) mediante la operación módulo, exactamente igual que en el hardware real.

Última actualización: