Los operadores bit a bit — AND, OR, XOR, NOT y los dos desplazamientos — operan directamente sobre la representación binaria de un número, un bit a la vez, en lugar de sobre su valor decimal. Aparecen constantemente en programación: máscaras de bits, indicadores (flags), permisos, hashing y trucos de rendimiento de bajo nivel dependen de ellos. Esta calculadora te permite introducir dos enteros en decimal, binario o hexadecimal, aplicar cualquiera de las seis operaciones y ver exactamente qué bits cambiaron.
Cómo funciona cada operación
AND, OR y XOR comparan A y B una posición de bit a la vez y los combinan según una regla simple: AND conserva un 1 solo donde ambas entradas son 1, OR conserva un 1 donde cualquiera de las entradas es 1, y XOR conserva un 1 solo donde las entradas difieren. NOT es distinto — toma una única entrada e invierte cada bit, lo que con un ancho de bits fijo equivale a calcular −A−1.
Las dos operaciones de desplazamiento mueven bits lateralmente en lugar de combinar dos números. Un desplazamiento a la izquierda de n multiplica el valor por 2ⁿ, moviendo cada bit hacia el extremo alto y rellenando el extremo bajo con ceros. Un desplazamiento (lógico) a la derecha de n divide entre 2ⁿ y redondea hacia abajo, moviendo cada bit hacia el extremo bajo y descartando lo que se sale por el borde derecho.
Las entradas y su significado
Elige la base en la que están escritos tus números — decimal, binario o hexadecimal — y el ancho de bits (8, 16 o 32 bits) en el que se realiza el cálculo. El ancho de bits importa porque determina cómo se comportan NOT y los números negativos: todo se calcula usando complemento a dos con ese ancho, así que la misma operación sobre los mismos números puede dar un patrón de bits distinto en 8 bits que en 16 bits.
Para AND, OR y XOR, tanto el Valor A como el Valor B son operandos completos. Para un desplazamiento, el Valor B se reinterpreta como la cantidad de bits a desplazar (siempre leído como un número decimal simple, sin importar la base seleccionada) en lugar de un segundo operando. NOT solo usa el Valor A.
Límites y casos especiales
Se admite la entrada decimal negativa, almacenada mediante complemento a dos con el ancho de bits elegido — por ejemplo, −1 con un ancho de 8 bits es el patrón de todo unos 11111111. Desplazar por una cantidad igual o mayor al ancho de bits configurado simplemente pone todos los bits en cero, ya que no queda nada por desplazar. Esta calculadora se centra en operaciones bit a bit sobre enteros; para convertir un número entre sistemas numéricos sin aplicar una operación, usa la Calculadora de Base Numérica en su lugar.