Calculadora Bitwise: AND, OR, XOR, Desplazamiento y Manipulación de Banderas Explicados
Las operaciones bitwise son el filo de la programación — operan sobre bits individuales dentro de un byte o palabra, dándote control directo sobre la representación binaria cruda de los datos. Mientras la aritmética opera sobre números como valores abstractos, las operaciones bitwise manipulan los 1s y 0s mismos. Así es como se codifican los permisos de archivo en un solo entero en Unix, cómo los programadores gráficos extraen los canales RGB de un valor de píxel, cómo los protocolos de red empaquetan múltiples banderas en un solo byte de cabecera, y cómo se construyen funciones hash rápidas y sumas de verificación. Nuestra calculadora bitwise gratuita toma dos operandos (o uno para NOT y desplazamientos), realiza la operación seleccionada a nivel de bit y muestra el resultado en binario, hexadecimal y decimal simultáneamente — con cada posición de bit etiquetada para que puedas verificar exactamente qué ocurrió y dónde.
Calculadora bit a bit
Gratis · Sin registro
Guía paso a paso
Ingresa Tus Operandos
Escribe dos números en decimal, hexadecimal (prefijo 0x) o binario (prefijo 0b). La calculadora acepta modo de 32 y 64 bits — en modo 32 bits, los operandos se tratan como enteros sin signo de 32 bits (0 a 4.294.967.295). Cada operando se muestra en formato binario con las posiciones de bit numeradas desde 31 (más significativo) hasta 0 (menos significativo), para que puedas visualizar exactamente qué bits están activados antes de aplicar cualquier operación.
Selecciona la Operación Bitwise
Elige entre siete operaciones: AND (&) activa un bit del resultado a 1 solo si ambos bits correspondientes de los operandos son 1; OR (|) lo activa a 1 si alguno de los bits del operando es 1; XOR (^) lo activa a 1 si exactamente un bit del operando es 1; NOT (~) invierte cada bit de un solo operando; desplazamiento a izquierda (<<) mueve todos los bits a la izquierda N posiciones (rellenando con ceros a la derecha); desplazamiento lógico a derecha (>>>) mueve bits a la derecha con relleno de ceros; desplazamiento aritmético a derecha (>>) mueve bits a la derecha con relleno del bit de signo.
Lee el Resultado Multi-Formato y el Mapa de Bits
El resultado se muestra en binario (32 bits con espaciado cada 4 bits para legibilidad), hexadecimal (8 dígitos hexadecimales para 32 bits) y decimal. Un mapa de bits visual resalta qué posiciones son 1 en el resultado, y al pasar el cursor sobre cualquier bit se muestra qué bits de entrada lo produjeron. Los botones de copia te permiten tomar el resultado en cualquier formato al instante — binario para documentación, hexadecimal para código, decimal para cálculos.
Consejos y mejores prácticas
La máscara de bits es el patrón bitwise más común: usa AND con una máscara para extraer bits específicos. Para obtener los 8 bits más bajos de un valor de 32 bits: valor & 0xFF (255). Para probar si el bit 3 está activado: (valor & (1 << 3)) !== 0. Para limpiar el bit 5: valor & ~(1 << 5). Para activar el bit 7: valor | (1 << 7). Para alternar el bit 2: valor ^ (1 << 2). Estos cuatro patrones — probar, limpiar, activar, alternar — cubren el 90% de la manipulación de bits en la práctica.
La extracción de canales de color es un caso de uso bitwise clásico. Un píxel RGB empaquetado en un entero de 32 bits (0xRRGGBB) puede desempaquetarse con: rojo = (píxel >> 16) & 0xFF, verde = (píxel >> 8) & 0xFF, azul = píxel & 0xFF. En una línea, has extraído tres canales de color usando desplazamiento a derecha y máscaras AND. ARGB (canal alfa) usa los 8 bits superiores: alfa = (píxel >> 24) & 0xFF.
El desplazamiento a izquierda de 1 posición multiplica por 2; el desplazamiento a derecha de 1 posición divide por 2 (división entera). El desplazamiento a izquierda de N posiciones equivale a multiplicar por 2ᴺ. Las CPUs ejecutan desplazamientos en un solo ciclo de reloj, haciéndolos dramáticamente más rápidos que la multiplicación/división general para potencias de 2.
El intercambio XOR es un truco clásico para intercambiar dos variables sin una variable temporal: a ^= b; b ^= a; a ^= b. Después de esta secuencia, a y b han intercambiado valores. Funciona porque XOR es conmutativo, asociativo, y x ^ x = 0, x ^ 0 = x. En código moderno, esto es principalmente una curiosidad — los compiladores optimizan los intercambios estándar igual de bien — pero es una gran demostración de las propiedades algebraicas de XOR.
Las banderas de permisos empaquetan múltiples configuraciones de activado/desactivado en un solo entero. Los permisos de archivo Unix usan 12 bits: los 9 inferiores son rwx para propietario/grupo/otros (cada uno r=4, w=2, x=1). Los bits superiores codifican setuid (4000), setgid (2000) y sticky (1000). Cada permiso es una sola bandera que puede probarse o modificarse independientemente.
Los cálculos de CRC (Cyclic Redundancy Check) y suma de verificación usan intensivamente XOR y desplazamientos. Una implementación básica de CRC-8 aplica XOR a cada byte de datos en un registro en ejecución, luego desplaza y aplica XOR condicionalmente con un polinomio. Esto produce una "huella digital" de 8 bits que detecta cambios accidentales en los datos.
El operador de desplazamiento a derecha viene en dos variantes: lógico (>>> en JavaScript/Java), que rellena los bits izquierdos desocupados con ceros; y aritmético (>> en la mayoría de los lenguajes), que los rellena con copias del bit de signo (preservando el signo para enteros con signo). Desplazar -8 (11111000 en 8 bits con signo) por 1 con desplazamiento aritmético produce -4 (11111100); con desplazamiento lógico produce 124 (01111100), un valor completamente diferente.
Preguntas frecuentes
Las operaciones bitwise son las operaciones más pequeñas y rápidas que una computadora puede realizar — literalmente un ciclo de CPU, una capa de compuerta lógica de profundidad. Nuestra calculadora hace estas operaciones visibles, mostrando exactamente qué bits cambian y por qué. Ya sea que estés empaquetando banderas, extrayendo canales de color o depurando una implementación de criptografía, ve tus bits en detalle completo.
Prueba esta herramienta gratis →open_in_new