Qué representa el complemento a dos
El complemento a dos es la forma habitual de almacenar enteros con signo. En ocho bits, 01111111 es 127, 10000000 es -128 y 11111111 es -1. El mismo patrón puede leerse sin signo, por lo que el ancho y la interpretación son parte del dato.
La herramienta separa ambos conceptos. El modo con signo valida su intervalo, el modo sin signo trata el valor como patrón bruto y el modo de bits exige exactamente el ancho elegido. No recorta ni envuelve silenciosamente valores fuera de rango.
Cómo usar el conversor
Decide primero si la fuente es un valor matemático o un patrón almacenado.
- Selecciona decimal con signo, decimal sin signo o cadena exacta.
- Elige 8, 16, 32 o 64 bits.
- Introduce el entero o una cadena formada solo por 0 y 1 con la longitud exacta.
- Pulsa Calcular para ver bits, hexadecimal y ambas lecturas decimales.
- Conserva el ancho y los ceros iniciales al copiar el resultado.
Ejemplos de complemento a dos
Salvo indicación contraria, se usan ocho bits.
| Entrada | Patrón | Explicación |
|---|---|---|
| 42 con signo | 00101010 | Los positivos usan su magnitud binaria con relleno. |
| -42 con signo | 11010110 | Se invierte 00101010 y se suma uno. |
| -1 con signo | 11111111 | Todo unos representa -1 en los anchos habituales. |
| 128 sin signo | 10000000 | Es 128 sin signo y -128 con signo. |
| 32767, 16 bits | 0111111111111111 | Máximo entero con signo de 16 bits. |
| Mínimo de 64 bits | 8000000000000000 hex | Solo el bit de signo está activado. |
Anchos, intervalos y entrada
Con n bits, el intervalo con signo es -2ⁿ⁻¹ a 2ⁿ⁻¹-1 y el intervalo sin signo es 0 a 2ⁿ-1. BigInt mantiene exactos también los extremos de 64 bits.
Los decimales admiten signo, espacios y guiones bajos. Los bits admiten 0b y separadores visuales, pero después deben tener exactamente el ancho seleccionado.
- El modo con signo rechaza el desbordamiento.
- El modo sin signo rechaza negativos y valores superiores al patrón de unos.
- El modo de bits conserva ceros iniciales.
- La salida hexadecimal se rellena según el ancho.
Cómo funciona
Un valor negativo x se representa como 2ⁿ+x. Así, -42 en ocho bits es 256-42=214, es decir, 11010110.
Para decodificar, se lee primero el patrón sin signo; si el bit superior es 1, se resta 2ⁿ.
Todo se calcula con BigInt para que los límites de 64 bits sean exactos.
Usos prácticos
Es esencial al interpretar bytes como enteros con signo.
Depurar memoria
Lee registros y palabras como valores con y sin signo.
Protocolos binarios
Comprueba sensores, contadores, muestras de audio y campos de dispositivos.
Pruebas de límites
Genera patrones para mínimos, máximos, -1, cero y cambios de signo.
Estudiar desbordamiento
Observa cómo el bit superior cambia la interpretación al envolver un registro fijo.
Errores habituales
La causa más frecuente es perder el ancho o mezclar signo y ausencia de signo.
Ancho incorrecto
11111111 es -1 en ocho bits, pero 255 si se extiende con ceros a 16 bits.
Decimal fuera de rango
128 no cabe con signo en ocho bits, aunque sí cabe sin signo.
Eliminar ceros iniciales
Se pierde información sobre el ancho de almacenamiento.
Confundir otras codificaciones
La herramienta implementa complemento a dos, no signo-magnitud ni complemento a uno.
Diferencias con otras herramientas
El complemento trata la interpretación dentro de un ancho fijo.
Decimal a binario
Un conversor básico puede escribir -101010; aquí se obtiene el patrón almacenado 11010110.
Calculadora bit a bit
La calculadora modifica bits; esta página convierte e interpreta un valor.
IEEE-754
Los flotantes usan signo, exponente y mantisa, no complemento a dos.
Conversión de bases
Cambiar de base conserva el valor matemático; la interpretación con signo depende del bit superior.