InfyCalculator
English
💻

Calculadora de operaciones bit a bit

Aplica operaciones bit a bit AND, OR, XOR, NAND, NOR, XNOR, NOT y desplazamientos a números decimales, hexadecimales o binarios de 8, 16 o 32 bits, con cada operando y el resultado en binario, hex y decimal.

A
Operación
B (o cantidad de desplazamiento)
Base de entrada
Tamaño de palabra
Cargando calculadora…

Cómo funciona

AND: 1 solo donde ambos bits son 1 · OR: 1 donde alguno es 1 · XOR: 1 donde los bits son distintos · NOT: invierte cada bit (dentro del tamaño de palabra) · NAND / NOR / XNOR = NOT de AND / OR / XOR · A << n = A × 2ⁿ (los bits que salen se pierden) · A >> n (lógico) = ⌊A ÷ 2ⁿ⌋ entrando ceros

Los operadores bit a bit trabajan con cada posición de bit por separado; así los programadores activan, borran, alternan y comprueban banderas, crean máscaras, empaquetan campos en registros y calculan sumas de verificación. El resultado depende del tamaño de palabra: NOT 12 es 243 en 8 bits pero 65,523 en 16 bits, porque también se invierten todos los ceros a la izquierda. Se aceptan entradas negativas, que se guardan en complemento a dos, y el resultado se muestra sin signo y con signo.

Ejemplo resuelto

12 AND 10 en 8 bits: 12 = 0000 1100 y 10 = 0000 1010; solo el bit 3 vale 1 en ambos, así que el resultado es 0000 1000 = 8 (0x08). Con las mismas entradas, OR da 14 (0000 1110) y XOR da 6 (0000 0110).

Fuentes: Bitwise operation — Wikipedia · ISO/IEC 9899 (C) bitwise operators — cppreference

Preguntas frecuentes

¿Qué diferencia hay entre AND y OR a nivel de bits?

AND conserva un bit solo si está activo en ambos números, por eso se usa para borrar bits o comprobarlos con una máscara (x AND 0x0F conserva el nibble bajo). OR activa un bit si está activo en cualquiera de los dos, por eso se usa para encender banderas (x OR 0x80 activa el bit más alto).

¿Para qué sirve XOR?

Para alternar bits (x XOR máscara invierte exactamente los bits de la máscara), comparar valores (A XOR B es cero solo si A = B), calcular paridad y sumas de verificación, cifrados sencillos e intercambiar dos variables sin una auxiliar.

¿Por qué NOT da un número grande en vez de uno negativo?

NOT invierte todos los bits de la palabra, incluidos los ceros de la izquierda: NOT 12 = 1111 0011 = 243 sin signo en 8 bits. Interpretados como byte con signo en complemento a dos, esos bits son −13, que es lo que muestran lenguajes como C o JavaScript (~12 = −13).

¿Desplazar a la izquierda es lo mismo que multiplicar por 2?

Sí: cada desplazamiento a la izquierda duplica el valor mientras no se salgan bits 1 por arriba de la palabra; un desplazamiento lógico a la derecha lo divide entre dos redondeando hacia abajo. Los desplazamientos aritméticos a la derecha copian el bit de signo; esta calculadora usa desplazamientos lógicos (rellenando con ceros).

Calculadoras relacionadas

Esta calculadora tiene fines informativos. Verifica los resultados importantes antes de tomar decisiones.