Inicio › Herramientas para desarrolladores › Calculadora bit a bit

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.

Ingresa tus valores para ver el resultado.
Publicidad
Publicidad

Cómo usar Calculadora bit a bit

  1. Ingresa A en decimal, hexadecimal (0x), binario (0b) u octal (0o).
  2. Elige la operación, por ejemplo AND, XOR o un desplazamiento.
  3. Ingresa B, o el número de bits que desplazar o rotar.
  4. Elige el ancho en bits y si quieres ver el resultado con signo.
  5. Lee el resultado en cada base y revisa la cuadrícula de bits.

Operaciones bit a bit de un vistazo

OperaciónSímboloRegla por bitEjemplo (8 bits)
ANDA & B1 si ambos son 11100 1100 & 1010 1010 = 1000 1000 (136)
ORA | B1 si alguno es 11100 1100 | 1010 1010 = 1110 1110 (238)
XORA ^ B1 si son distintos1100 1100 ^ 1010 1010 = 0110 0110 (102)
NOT~Ainvierte cada bit~1100 1100 = 0011 0011 (51)
NAND / NOR / XNOR~(A&B), ~(A|B), ~(A^B)inverso de AND / OR / XORNAND = 0111 0111 (119)
Desplazamiento a la izquierdaA << nmueve a la izquierda, rellena con 00000 0101 << 2 = 0001 0100 (20)
Desplazamiento aritmético a la derechaA >> nmueve a la derecha, copia el bit de signo1111 0000 (−16) >> 2 = 1111 1100 (−4)
Desplazamiento lógico a la derechaA >>> nmueve a la derecha, rellena con 01111 0000 >>> 2 = 0011 1100 (60)
Rotación a la izquierda / derechaROL / RORlos bits dan la vuelta1001 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.

Herramientas relacionadas

Ver todas las de Codificadores, hashes y criptografía →