Conectar vía MCP →

Ingresar cálculo

Fórmula

Publicidad

Resultados

Complemento a 2
01001011
Tipo de entrada decimal
Entrada original 181
Ancho de bits 8 bits
Representación binaria 10110101
Complemento a 1 01001010
Complemento a 2 01001011
Decimal original (sin signo) 181
Decimal original (con signo) -75
Decimal en complemento a 2 75
Hexadecimal original 0xB5
Hexadecimal con signo 0xB5
Hexadecimal en complemento a 2 0x4B

¿Qué es una calculadora de complemento a 2?

Una calculadora de complemento a 2 convierte números entre decimal, binario y hexadecimal, a la vez que muestra cómo se representan los valores negativos dentro de los ordenadores. El complemento a 2 es el método estándar que utilizan prácticamente todos los procesadores modernos para almacenar enteros con signo, así que comprenderlo resulta imprescindible para programadores, estudiantes de electrónica y cualquiera que trabaje con lógica digital. Esta herramienta te permite introducir un número en cualquier base, elegir el ancho de bits (8, 16 o 32 bits) y ver al instante su representación en complemento a 2 junto con su valor decimal.

Cómo usar la calculadora

  • Escribe tu número en el campo de entrada: admite decimal, binario o hexadecimal.
  • Selecciona la base de tu número si es necesario.
  • Elige el ancho de bits: 8, 16 o 32 bits.
  • Consulta los resultados: el valor en binario, hexadecimal y decimal con signo aparece automáticamente.

El ancho de bits importa porque determina el rango de valores que se pueden almacenar. Por ejemplo, un entero con signo de 8 bits abarca valores de -128 a 127, mientras que uno de 16 bits va de -32.768 a 32.767.

La fórmula explicada

Para hallar el complemento a 2 de un número binario, sigue dos pasos:

  • Invierte todos los bits (cambia cada 0 por 1 y cada 1 por 0). Esto es el complemento a 1.
  • Suma 1 al resultado.
$$\text{Complemento a 2} = \left(\sim \text{Número}_{\,2}\right) + 1 \pmod{2^{\text{Ancho de bits}}}$$

El bit más a la izquierda actúa como bit de signo: 0 indica positivo y 1 indica negativo. Para convertir un decimal negativo a complemento a 2, la fórmula es \(2^{n} + \text{valor}\), donde n es el ancho de bits.

Publicidad
Diagrama de dos pasos: invertir los bits y sumar uno para obtener el complemento a dos
El complemento a dos se obtiene invirtiendo cada bit y sumando 1.

Ejemplo resuelto

Convertir -5 a complemento a 2 de 8 bits:

  • Parte de +5 en binario: 0000 0101.
  • Invierte los bits: 1111 1010.
  • Suma 1: 1111 1011.

Así, -5 se almacena como 1111 1011, que equivale a FB en hexadecimal. Comprobación: \(251 - 256 = -5\) (el valor sin signo menos 256).

Diagrama circular que muestra el rango con signo de 8 bits pasando de positivo a negativo
Los valores con signo de 8 bits se desbordan y asignan la mitad superior a números negativos.

Rangos de Enteros Firmados por Ancho de Bit

El complemento a dos es la forma estándar en que las computadoras representan enteros firmados. Para un ancho de bit dado \(n\), un bit actúa como bit de signo, por lo que el rango firmado representable es \(-2^{n-1}\) a \(2^{n-1}-1\), mientras que una interpretación sin signo de los mismos bits cubre \(0\) a \(2^{n}-1\). Toda la aritmética se ajusta módulo \(2^{n}\).

Ancho de Bit \(n\) Mínimo Firmado \(-2^{n-1}\) Máximo Firmado \(2^{n-1}-1\) Máximo sin Signo \(2^{n}-1\) Módulo \(2^{n}\)
8 -128 127 255 256
16 -32,768 32,767 65,535 65,536
32 -2,147,483,648 2,147,483,647 4,294,967,295 4,294,967,296
64 -9,223,372,036,854,775,808 9,223,372,036,854,775,807 18,446,744,073,709,551,615 18,446,744,073,709,551,616

Por ejemplo, el complemento a dos del número decimal 5 en forma de 8 bits es 251 cuando se lee como un byte sin signo, que representa \(-5\) como un valor firmado.

Referencia Decimal–Binaria–Hexadecimal para Valores Comunes de 8 Bits

La siguiente tabla mapea valores decimales firmados representativos a sus formas binarias de complemento a dos de 8 bits y hexadecimales. Los números negativos tienen el bit más significativo establecido en 1. Para negar un valor, invierte los 8 bits y suma 1.

Decimal Firmado Binario de 8 Bits Hexadecimal Valor sin Signo
-128 1000 0000 0x80 128
-64 1100 0000 0xC0 192
-5 1111 1011 0xFB 251
-1 1111 1111 0xFF 255
0 0000 0000 0x00 0
1 0000 0001 0x01 1
5 0000 0101 0x05 5
64 0100 0000 0x40 64
127 0111 1111 0x7F 127

Para verificar una forma binaria de forma independiente, puedes convertir el patrón de 8 bits 11111011 de vuelta a decimal, que es igual a 251 como un byte sin signo (interpretado como \(-5\) firmado).

Publicidad

Términos Clave y Definiciones

Ancho de bit
El número de dígitos binarios utilizados para almacenar un entero (comúnmente 8, 16, 32 o 64). Fija el módulo \(2^{n}\) y, por lo tanto, el rango de valores representables.
Bit de signo
El único bit que indica si un número firmado es negativo (1) o no negativo (0). En complemento a dos es el bit de orden superior.
Bit más significativo (MSB)
El bit más a la izquierda, de mayor valor, en un número binario. En un valor de complemento a dos firmado, el MSB actúa también como bit de signo.
Complemento a uno
La inversión bit a bit de un número — cada 0 se convierte en 1 y cada 1 se convierte en 0 (\(\overline{B}\)). Es el paso intermedio antes de sumar 1 para formar el complemento a dos.
Complemento a dos
La codificación dominante de entero firmado: niega un valor invirtiendo todos los bits y sumando 1, es decir, \(\overline{B}+1 \pmod{2^{n}}\). Da una única representación de cero y permite que el mismo hardware sume números firmados y sin signo.
Desbordamiento / Ajuste
Lo que sucede cuando un resultado excede el rango representable para el ancho de bit; el valor se ajusta módulo \(2^{n}\). Por ejemplo, sumar 1 al máximo de 8 bits 127 se ajusta a -128.
Entero firmado frente a sin signo
Un entero firmado puede representar negativos usando complemento a dos (rango \(-2^{n-1}\) a \(2^{n-1}-1\)); un entero sin signo trata cada patrón de bits como no negativo (rango \(0\) a \(2^{n}-1\)). Los bits son idénticos — solo la interpretación difiere.

Preguntas frecuentes

¿Por qué los ordenadores usan complemento a 2? Permite que la suma y la resta utilicen el mismo circuito y, a diferencia del signo-magnitud o el complemento a 1, solo existe una única representación del cero.

¿Qué ocurre si mi número es demasiado grande para el ancho de bits? El valor se desborda y «da la vuelta» (overflow), generando un resultado inesperado. Elige un ancho de bits mayor para evitarlo.

¿Cómo vuelvo a convertirlo en un decimal normal? Si el bit de signo es 1, vuelve a aplicar el complemento a 2 y añade un signo negativo; si es 0, léelo como un número binario normal.

Última actualización: