AZ Tools

Conversor de Complemento a Dos (8–64 bits)

Convertir

El complemento a dos es como casi todos los ordenadores almacenan enteros con signo: el bit superior es el signo, y un número negativo se forma invirtiendo los bits de su magnitud y sumando uno. Este conversor toma cualquier entero — escrito como decimal, hex (0x), binario (0b) u octal (0o), positivo o negativo — lo ajusta a un ancho elegido de 8, 16, 32 o 64 bits y muestra el patrón de bits resultante con el bit de signo resaltado. De ese único patrón lee tanto el valor con signo (complemento a dos) como el valor sin signo, junto con hex, octal y el complemento a uno. Es la forma rápida de responder preguntas como «¿qué significa 0xFF como byte con signo?» (−1) o «¿cómo se almacena −128 en 8 bits?» (0x80), y de ver cómo los valores se envuelven al desbordar un ancho. La aritmética BigInt de precisión arbitraria mantiene exactos los valores de 64 bits. Todo corre localmente; no se sube nada.

Prefija con 0x para hex, 0b para binario, 0o para octal; en otro caso decimal. Se permite un − inicial.

Patrón de bits

1101 0110

Con signo (complemento a dos)-42
Sin signo214
Hex0xd6
Octal0o326
Complemento a uno0x29

Complemento a dos: el bit superior es el signo. El mismo patrón se lee como un valor con signo y uno sin signo.

Cómo usar

  1. Escribe un valor en decimal, o con un prefijo 0x / 0b / 0o para hex, binario u octal.
  2. Elige el ancho de bits (8, 16, 32 o 64).
  3. Lee los valores con y sin signo, el patrón de bits, hex/octal y el complemento a uno; aparece una nota si el valor no cupo y se envolvió.

Preguntas frecuentes

¿Cómo se representa un número negativo?
En complemento a dos, tomas el binario del valor absoluto, inviertes cada bit (complemento a uno) y sumas uno. Para un −5 de 8 bits: 5 es 00000101, invertido es 11111010, más uno es 11111011 = 0xFB. Que el bit superior sea 1 lo marca como negativo. Esta herramienta lo hace automáticamente para cualquier ancho.
¿Por qué 0xFF aparece como 255 y −1?
El mismo patrón de bits significa números distintos según lo leas sin signo o con signo. Como byte sin signo, 11111111 es 255; como byte con signo en complemento a dos, es −1. El hardware y los lenguajes eligen una interpretación por tipo (p. ej. uint8 vs int8); esta herramienta muestra ambas a la vez.
¿Qué pasa si mi número no cabe en el ancho?
Se envuelve. Un valor fuera del rango del ancho se reduce módulo 2^ancho — lo mismo que hace la aritmética de enteros de ancho fijo al desbordar. Por ejemplo 300 en 8 bits se vuelve 300 − 256 = 44, y la lectura con signo se deriva de ese patrón. Una nota avisa cuando ocurre el envolvimiento.
¿Complemento a uno frente a complemento a dos?
El complemento a uno es solo el NOT bit a bit — cada 0 pasa a 1 y viceversa. El complemento a dos es el complemento a uno más uno, y es lo que usan las CPU modernas para enteros con signo porque tiene un único cero y hace uniforme la suma. La herramienta muestra el complemento a uno como referencia extra.

Herramientas relacionadas