Calculadora bit a bit
Calcula operaciones bit a bit con enteros: AND, OR, XOR, NOT, NAND, NOR, XNOR, desplazamientos a la izquierda y a la derecha (aritméticos y lógicos) y rotaciones. Elige un ancho de 8, 16, 32 o 64 bits y mira el resultado en decimal, hexadecimal, binario y octal con una cuadrícula bit a bit.
Última actualización:
Decimal, hexadecimal 0x, binario 0b u octal 0o; se admiten negativos.
Segundo operando, o el número de bits que desplazar o rotar.
Cómo usar Calculadora bit a bit
- Ingresa A en decimal, hexadecimal (0x), binario (0b) u octal (0o).
- Elige la operación, por ejemplo AND, XOR o un desplazamiento.
- Ingresa B, o el número de bits que desplazar o rotar.
- Elige el ancho en bits y si quieres ver el resultado con signo.
- Lee el resultado en cada base y revisa la cuadrícula de bits.
Operaciones bit a bit de un vistazo
| Operación | Símbolo | Regla por bit | Ejemplo (8 bits) |
|---|---|---|---|
| AND | A & B | 1 si ambos son 1 | 1100 1100 & 1010 1010 = 1000 1000 (136) |
| OR | A | B | 1 si alguno es 1 | 1100 1100 | 1010 1010 = 1110 1110 (238) |
| XOR | A ^ B | 1 si son distintos | 1100 1100 ^ 1010 1010 = 0110 0110 (102) |
| NOT | ~A | invierte cada bit | ~1100 1100 = 0011 0011 (51) |
| NAND / NOR / XNOR | ~(A&B), ~(A|B), ~(A^B) | inverso de AND / OR / XOR | NAND = 0111 0111 (119) |
| Desplazamiento a la izquierda | A << n | mueve a la izquierda, rellena con 0 | 0000 0101 << 2 = 0001 0100 (20) |
| Desplazamiento aritmético a la derecha | A >> n | mueve a la derecha, copia el bit de signo | 1111 0000 (−16) >> 2 = 1111 1100 (−4) |
| Desplazamiento lógico a la derecha | A >>> n | mueve a la derecha, rellena con 0 | 1111 0000 >>> 2 = 0011 1100 (60) |
| Rotación a la izquierda / derecha | ROL / ROR | los bits dan la vuelta | 1001 0110 ROL 1 = 0010 1101 (45) |
Complemento a dos y ancho en bits
Con W bits, los valores sin signo van de 0 a 2W − 1 y los valores con signo (complemento a dos) de −2W−1 a 2W−1 − 1. Un número negativo −x se guarda como 2W − x, así que −16 en 8 bits es 256 − 16 = 240 = 1111 0000. Identidades útiles: ~x = −x − 1, x << n = x × 2n (mod 2W), x >> n = ⌊x ÷ 2n⌋ para x con signo, y x & (x − 1) pone a cero el bit activo más bajo.
Trucos comunes: comprueba el bit k con (x >> k) & 1, actívalo con x | (1 << k), ponlo a cero con x & ~(1 << k) e inviértelo con x ^ (1 << k).
Preguntas frecuentes
¿Qué hace el AND bit a bit?
AND compara dos números bit a bit y devuelve 1 solo donde ambos bits son 1. Por ejemplo, 204 & 170 es 11001100 & 10101010 = 10001000, que es 136. Se usa a menudo para enmascarar (conservar) bits seleccionados.
¿Cuál es la diferencia entre >> y >>>?
>> es un desplazamiento aritmético a la derecha: copia el bit de signo por la izquierda, así que los números negativos siguen siendo negativos (−16 >> 2 = −4). >>> es un desplazamiento lógico a la derecha: rellena con ceros, así que en 32 bits −16 >>> 2 = 1073741820.
¿Cómo funciona el NOT bit a bit con números negativos?
NOT invierte cada bit. En complemento a dos, ~x siempre es igual a −x − 1, así que ~0 = −1 y ~5 = −6. Mostrado sin signo, ~0 es el valor más grande para ese ancho, por ejemplo 255 en 8 bits o 4294967295 en 32 bits.
¿Por qué importa el ancho en bits?
NOT, los desplazamientos, las rotaciones y los números negativos dependen de cuántos bits tiene el valor. ~0 es 255 en 8 bits pero 65535 en 16 bits, y 1 << 8 es 0 en 8 bits pero 256 en 16 bits. Elige el ancho que usa tu lenguaje o tu hardware.
¿Qué ancho usan los lenguajes de programación?
Los operadores bit a bit de JavaScript trabajan con enteros de 32 bits con signo (BigInt para valores mayores), en Java y C# int es de 32 bits y long de 64 bits, y en C/C++ depende del tipo (uint8_t, int32_t, uint64_t…). Los enteros de Python tienen ancho ilimitado, así que ~x sigue siendo −x − 1.
¿Para qué se usa XOR?
XOR devuelve 1 donde los bits son distintos. Se usa para invertir bits (x ^ mask), comparar valores, calcular paridad y sumas de verificación, y en cifrados sencillos, porque aplicar el mismo XOR dos veces devuelve el valor original.
¿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.