Calculadora Bitwise online
Informe dois operandos (em decimal ou hexadecimal com prefixo 0x), escolha a operação bit a bit e veja o resultado em decimal, hexadecimal e binário.
Os cálculos usam inteiros sem sinal de 32 bits. NOT é calculado como ~a em 32 bits.
O que são operações bit a bit?
Operações bitwise (bit a bit) trabalham diretamente sobre os bits individuais de números inteiros, sem considerar seu valor decimal como um todo. São fundamentais em programação de baixo nível, manipulação de flags, máscaras de permissão, criptografia e otimização.
As operações
| Operação | Símbolo | O que faz |
|---|---|---|
| AND | & | Bit 1 só quando ambos os bits são 1 |
| OR | | | Bit 1 quando pelo menos um bit é 1 |
| XOR | ^ | Bit 1 quando os bits são diferentes |
| NOT | ~ | Inverte todos os bits (complemento) |
| Shift left | << | Desloca os bits para a esquerda (×2 por posição) |
| Shift right lógico | >>> | Desloca os bits para a direita, preenchendo com zeros (÷2 por posição) |
Tabela-verdade (por bit)
| A | B | A & B | A | B | A ^ B |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 | 1 |
| 1 | 0 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 |
Exemplos
15 & 10 = 10 (0b1111 & 0b1010 = 0b1010)
12 | 3 = 15 (0b1100 | 0b0011 = 0b1111)
5 ^ 3 = 6 (0b0101 ^ 0b0011 = 0b0110)
1 << 4 = 16 (desloca 1 quatro casas)
255 >>> 2 = 63 (desloca 255 duas casas)Por que 32 bits e sem sinal?
Em JavaScript, os operadores bitwise convertem os operandos para inteiros de 32 bits com sinal. Esta calculadora normaliza o resultado para 32 bits sem sinal (usando >>> 0), então o NOT de 0 resulta em 4294967295 (0xFFFFFFFF) em vez de -1. Isso é útil para visualizar máscaras de bits.
Usos práticos
- Flags e permissões: combine opções com OR, verifique com AND (
flags & FLAG_LEITURA). - Máscaras: extraia partes de um número com AND e shift.
- Toggle: inverta um bit específico com XOR.
- Multiplicação/divisão rápida por potências de 2: shift left/right.
Perguntas frequentes
Como informo um número hexadecimal?
Use o prefixo 0x, por exemplo 0xFF (255) ou 0x2A (42). Você também pode misturar: A em hex e B em decimal.
Por que o NOT de um número pequeno dá um valor enorme?
Porque a inversão acontece em todos os 32 bits. ~5 inverte os 32 bits de 5, resultando em 4294967290 no formato sem sinal.
Shift right é aritmético ou lógico?
Esta calculadora usa o shift right lógico (>>>), que preenche com zeros à esquerda — coerente com a abordagem sem sinal.