Los operadores bit a bit (Y, O, XOR, NOT y los dos desplazamientos) funcionan directamente en la representación binaria de un número, un bit a la vez, en lugar de en su valor decimal. Aparecen constantemente en la programación: máscaras de bits, indicadores, permisos, hash y trucos de rendimiento de bajo nivel se apoyan en ellos. Esta calculadora le permite ingresar dos números 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 cada uno la posición de A y B, una posición de bit a la vez, y los combinan de acuerdo con una regla simple: AND mantiene un 1 solo cuando ambas entradas son 1, OR mantiene un 1 cuando cualquiera de las entradas es 1, y XOR mantiene un 1 solo cuando las entradas no están de acuerdo. NOT es diferente: toma una sola entrada y voltea cada bit, lo que con un ancho de bit fijo es lo mismo que calcular −A−1.

Las dos operaciones de desplazamiento mueven bits hacia los lados en lugar de combinar dos números. Un desplazamiento hacia la izquierda por n multiplica el valor por 2ⁿ, desplazando cada bit hacia el extremo superior y llenando el extremo inferior con ceros. Un desplazamiento a la derecha (lógico) por n se divide por 2ⁿ y se redondea hacia abajo, desplazándose cada bit hacia el extremo inferior y descartando lo que caiga del borde derecho.

Las entradas y su significado

Elija la base en la que están escritos sus 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 es importante porque determina cómo se comportan los números NOT y negativos: todo se calcula usando el complemento a dos en ese ancho, por lo que la misma operación en los mismos números puede dar un patrón de bits diferente en un ancho de 8 bits versus 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 desplazamiento en bits (siempre leído como un número decimal simple, independientemente de la base seleccionada) en lugar de como un segundo operando. NO 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.