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:
Dígitos binarios, o hex con el prefijo 0x
Cualquier ancho de 2 a 64 (habituales: 4, 8, 16, 32, 64)
Cómo usar Calculadora de complemento a dos
- Elige la dirección: de decimal a complemento a dos o al revés.
- Introduce el número, un decimal como −42 o un patrón de bits como 11010110.
- Configura el ancho de bits, por ejemplo 8, 16, 32 o 64 bits.
- Consulta el resultado con sus valores hex y sin signo.
- 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.
| Decimal | 4 bits | 8 bits | Hex de 8 bits |
|---|---|---|---|
| 7 | 0111 | 0000 0111 | 0x07 |
| 1 | 0001 | 0000 0001 | 0x01 |
| 0 | 0000 | 0000 0000 | 0x00 |
| −1 | 1111 | 1111 1111 | 0xFF |
| −2 | 1110 | 1111 1110 | 0xFE |
| −5 | 1011 | 1111 1011 | 0xFB |
| −8 | 1000 | 1111 1000 | 0xF8 |
| −42 | — | 1101 0110 | 0xD6 |
| −128 | — | 1000 0000 | 0x80 |
Rangos según el ancho de bits
| Bits | Mínimo con signo | Máximo con signo | Máximo sin signo | Tipo habitual |
|---|---|---|---|---|
| 4 | −8 | 7 | 15 | Nibble |
| 8 | −128 | 127 | 255 | int8 / byte |
| 16 | −32,768 | 32,767 | 65,535 | int16 / short |
| 32 | −2,147,483,648 | 2,147,483,647 | 4,294,967,295 | int32 / int |
| 64 | −9,223,372,036,854,775,808 | 9,223,372,036,854,775,807 | 18,446,744,073,709,551,615 | int64 / 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 →