Calculadora bit a bit
AND, OR, XOR, NOT y desplazamientos de bits sobre enteros de 32 bits, con visualización bit a bit
Operandos
Operación
Resultado
12 & 10Patrón de 32 bits del resultado
Los valores se tratan como enteros de 32 bits. El decimal con signo interpreta el bit superior como signo (complemento a dos); el decimal sin signo lee los 32 bits como una magnitud positiva. El desplazamiento a la derecha es lógico (se rellena con ceros por la izquierda).
Acerca de esta herramienta
La calculadora bit a bit permite a desarrolladores y estudiantes de informática calcular AND, OR, XOR, NOT y desplazamientos a izquierda y derecha sobre dos enteros. Introduce cada operando en binario, decimal o hexadecimal y el resultado se muestra a la vez en las tres bases, junto con un mapa de 32 bits en vivo para ver exactamente qué bits cambian. Es ideal para depurar banderas y máscaras de bits, trabajar con permisos, empaquetar datos y aprender cómo los ordenadores manipulan los bits en el nivel más bajo.
Cómo usarla
- 1 Introduce el Operando A y elige su base (binario, decimal o hex).
- 2 Elige una operación: AND, OR, XOR, desplazamiento a izquierda/derecha o el NOT unario.
- 3 En operaciones de dos operandos introduce el Operando B; en un desplazamiento, cuántos bits desplazar.
- 4 Lee el resultado en decimal, sin signo, hex y binario, e inspecciona los bits resaltados.
Cómo funciona
Las operaciones bit a bit actúan sobre cada uno de los 32 bits de forma independiente. AND pone un bit de resultado a 1 solo cuando ambos bits de entrada son 1, por lo que se usa para enmascarar (conservar) bits seleccionados. OR pone un bit a 1 cuando cualquiera de los bits de entrada es 1, por lo que se usa para activar banderas. XOR pone un bit a 1 solo cuando los dos bits de entrada difieren, lo que lo hace perfecto para alternar bits y para sumas de verificación simples. NOT es unario: invierte cada bit, convirtiendo 0 en 1 y 1 en 0. Un desplazamiento a la izquierda (<<) mueve todos los bits hacia el extremo más significativo y rellena con ceros, multiplicando por dos por cada posición; un desplazamiento lógico a la derecha (>>) los mueve en sentido contrario y también rellena con ceros. Como los números negativos se almacenan en complemento a dos, los mismos 32 bits pueden leerse como un valor con signo (el bit superior es el signo) o sin signo, por lo que esta herramienta muestra ambos. Por ejemplo 12 AND 10 = 8, 12 OR 10 = 14, 12 XOR 10 = 6, 1 << 4 = 16, y NOT 0 son todo unos, es decir -1 con signo o 4294967295 sin signo.
Preguntas frecuentes
¿Cuál es la diferencia entre AND, OR y XOR?
AND conserva un bit solo cuando ambos operandos lo tienen activado, por lo que sirve para borrar o comprobar bits con una máscara. OR activa un bit cuando cualquiera de los operandos lo tiene, por lo que sirve para encender bits. XOR activa un bit solo cuando exactamente un operando lo tiene, lo que alterna bits y detecta diferencias.
¿Por qué NOT 0 muestra -1 y también 4294967295?
NOT invierte los 32 bits, así que 0 se convierte en treinta y dos unos. Leído como entero con signo en complemento a dos ese patrón es -1; leído como entero sin signo de 32 bits es 4294967295. Ambos describen los mismos bits.
¿Qué hace realmente desplazar a izquierda o derecha?
Un desplazamiento a la izquierda de n mueve cada bit n posiciones hacia el extremo más significativo y rellena con ceros, multiplicando por 2 elevado a n. Un desplazamiento lógico a la derecha de n los mueve al contrario y rellena con ceros, dividiendo por 2 elevado a n los valores no negativos.
¿Por qué todo se limita a 32 bits?
Los operadores bit a bit de JavaScript y la mayoría de los registros de enteros de la CPU trabajan con palabras de 32 bits, y esta herramienta lo refleja. Las cantidades de desplazamiento se toman módulo 32 y los valores dan la vuelta dentro del rango de 32 bits, igual que en C, Java o JavaScript.
Herramientas y usos relacionados
Para convertir un solo valor entre binario, octal, decimal y hex, usa el conversor de sistemas numéricos. Para códigos de caracteres consulta el conversor ASCII, y para máscaras de color el conversor de códigos de color.