Simulador de Operações Bit a Bit (AND, OR, XOR, NOT, Deslocamento)
Calcule AND, OR, XOR, NOT, deslocamento à esquerda e à direita em dois números, e visualize exatamente quais bits mudaram em uma grade binária. Suporta larguras de 8/16/32 bits.
Dicas de uso
- Você pode digitar valores em decimal, ou usar um prefixo hexadecimal como `0x1A` ou binário como `0b1010`. Cole os valores exatamente como você os escreveria no seu código.
- AND, OR e XOR usam dois valores, enquanto NOT usa apenas um. O número de campos de entrada muda automaticamente conforme a operação escolhida.
- O deslocamento à direita (`>>>`) aqui só é compatível com a variante lógica. Veja o FAQ para entender a diferença em relação a um deslocamento aritmético que preserva o bit de sinal.
- Alternar a largura de bits de 8 para 16 e para 32 permite ver o mesmo número ganhando mais zeros à esquerda, o que ajuda a entender o real significado de "largura de bits".
- Os bits destacados em amarelo são os que mudaram entre A e o resultado, então com AND/OR você consegue acompanhar visualmente qual valor de entrada "venceu" em cada posição.
Perguntas frequentes
Curiosidade — As propriedades curiosas do XOR
As operações bit a bit correspondem diretamente aos circuitos lógicos de um computador, o que as torna algumas das operações mais rápidas que uma CPU pode executar, muitas vezes em um único ciclo de clock. Como precisam de circuitos muito mais simples do que operações aritméticas como multiplicação ou divisão, o código sensível a desempenho (processamento de imagens, criptografia, implementações de protocolos de rede) há muito usa truques bit a bit como substitutos de operações aritméticas mais caras.
O XOR (OU exclusivo) tem algumas propriedades curiosas: aplicar XOR de um valor com ele mesmo sempre resulta em 0 (`a ^ a = 0`), e aplicar XOR com 0 devolve o valor original inalterado (`a ^ 0 = a`). Combinando esses dois fatos surge o clássico truque de "troca com XOR", que troca duas variáveis sem usar uma variável temporária (`a ^= b; b ^= a; a ^= b;`). Hoje em dia raramente é recomendado em código de produção por motivos de legibilidade, mas continua sendo um exemplo didático favorito para entender operações bit a bit.
Máscaras de bits aparecem constantemente em sistemas reais. As permissões de arquivo do Unix (leitura=4, escrita=2, execução=1) são literalmente OR e AND bit a bit em ação, e extrair os componentes vermelho, verde e azul de um código de cor como `#FF0000` é feito com um deslocamento à direita combinado com uma máscara AND. A técnica de empacotar vários indicadores de ligado/desligado em um único inteiro, muitas vezes chamada de "flags de bits", foi amplamente usada em jogos e sistemas antigos que precisavam rastrear muitos estados com pouquíssima memória.