Inicio › Herramientas para desarrolladores › Calculadora de complemento a dos

Calculadora de complemento a dos

Convierte un número decimal con signo a su patrón de bits en complemento a dos, o decodifica un patrón de bits a su valor con signo, para cualquier ancho de 4 a 64 bits. Los pasos muestran el método de invertir y sumar uno con tu número.

Última actualización:

Convertir

Dígitos binarios, o hex con el prefijo 0x

bits

Cualquier ancho de 2 a 64 (habituales: 4, 8, 16, 32, 64)

Introduce tus valores para ver el resultado.
Publicidad
Publicidad

Cómo usar Calculadora de complemento a dos

  1. Elige la dirección: de decimal a complemento a dos o al revés.
  2. Introduce el número, un decimal como −42 o un patrón de bits como 11010110.
  3. Configura el ancho de bits, por ejemplo 8, 16, 32 o 64 bits.
  4. Consulta el resultado con sus valores hex y sin signo.
  5. Sigue los pasos y la tabla de pesos de bits para entender el porqué.

El método del complemento a dos

Para un número de n bits, un valor x se almacena como x si x ≥ 0 y como 2ⁿ + x (es decir, 2ⁿ − |x|) si x < 0. En la práctica se obtienen los mismos bits escribiendo |x| en binario, invirtiendo cada bit y sumando 1. Para decodificar, el bit de más a la izquierda tiene el peso −2ⁿ⁻¹ y todos los demás bits conservan sus pesos positivos habituales.

Decimal4 bits8 bitsHex de 8 bits
701110000 01110x07
100010000 00010x01
000000000 00000x00
−111111111 11110xFF
−211101111 11100xFE
−510111111 10110xFB
−810001111 10000xF8
−42—1101 01100xD6
−128—1000 00000x80

Rangos según el ancho de bits

BitsMínimo con signoMáximo con signoMáximo sin signoTipo habitual
4−8715Nibble
8−128127255int8 / byte
16−32,76832,76765,535int16 / short
32−2,147,483,6482,147,483,6474,294,967,295int32 / int
64−9,223,372,036,854,775,8089,223,372,036,854,775,80718,446,744,073,709,551,615int64 / long

Extensión de signo: para ampliar un número en complemento a dos, copia el bit de signo en los nuevos bits de la izquierda. −5 es 1011 en 4 bits y 1111 1011 en 8 bits.

Preguntas frecuentes

¿Qué es el complemento a dos?

El complemento a dos es la forma estándar en que los ordenadores almacenan enteros con signo. Los números positivos se escriben en binario normal, y un número negativo −x se almacena como 2^n − x, donde n es el número de bits. El bit de más a la izquierda actúa entonces como bit de signo: 0 para positivo, 1 para negativo.

¿Cómo encuentro el complemento a dos de un número negativo?

Escribe el valor absoluto en binario con todo el ancho de bits, invierte cada bit y luego suma 1. Para −42 en 8 bits: 42 = 00101010, invertido = 11010101, más 1 = 11010110.

¿Cómo convierto el complemento a dos de nuevo a decimal?

Si el bit de signo es 0, léelo como binario normal. Si es 1, invierte los bits, suma 1 y pon un signo menos delante. 11010110 → 00101001 + 1 = 00101010 = 42, así que el valor es −42. De forma equivalente, da al bit de más a la izquierda un peso de −2^(n−1).

¿Qué rango pueden contener n bits?

Un entero con signo de n bits en complemento a dos va de −2^(n−1) a 2^(n−1) − 1. Es decir, de −128 a 127 con 8 bits, de −32,768 a 32,767 con 16 bits y de −2,147,483,648 a 2,147,483,647 con 32 bits.

¿Por qué hay un número negativo más que positivo?

El cero usa uno de los patrones con bit de signo 0, lo que deja 2^(n−1) − 1 valores positivos pero 2^(n−1) negativos. El valor más pequeño, como −128 en 8 bits (10000000), no tiene pareja positiva y es su propio complemento a dos.

¿Por qué los ordenadores usan el complemento a dos?

La suma y la resta funcionan igual para números con y sin signo, solo hay un cero y no se necesita hardware especial para el signo. Por ejemplo, 5 + (−3) es simplemente 00000101 + 11111101 = 00000010 (el acarreo final se descarta).

¿Cuál es la diferencia entre complemento a uno y complemento a dos?

El complemento a uno solo invierte los bits, lo que da dos ceros (+0 y −0). El complemento a dos invierte y suma 1, lo que elimina el cero negativo y simplifica la aritmética.

¿Se prueban todas las herramientas de FreeToolCabin para comprobar su calidad y precisión?

Sí. Cada herramienta del sitio pasa pruebas automáticas en navegadores reales para comprobar que el resultado es correcto y que no hay errores. Si encuentras un fallo o tienes una sugerencia, escríbenos a [email protected] y lo revisaremos.

Herramientas relacionadas

Ver todas las de Conversores de datos y formatos de archivo →