Operações sobre padrões de bits
Operações bit a bit tratam cada posição independentemente. AND mantém um bit quando ambos são um; OR mantém quando pelo menos um é um; XOR mantém quando diferem; NOT inverte todas as posições dentro da largura selecionada.
A largura é obrigatória porque NOT e deslocamentos precisam saber quais bits existem. Em oito bits, NOT 00001111 é 11110000; em dezasseis bits, o mesmo valor produz 1111111111110000.
Como usar
Defina operação, formato, sinal e largura antes de calcular.
- Escolha AND, OR, XOR, NOT, deslocamento à esquerda ou à direita.
- Selecione decimal, binário ou hexadecimal para os operandos.
- Para decimal, escolha leitura com sinal ou sem sinal; depois selecione 8, 16, 32 ou 64 bits.
- Introduza A e, quando necessário, B ou a quantidade de deslocamento.
- Clique em Calcular e compare o padrão com as duas leituras decimais.
Exemplos de lógica e deslocamento
Os exemplos usam oito bits, salvo indicação em contrário.
| Operação | Padrão resultante | Explicação |
|---|---|---|
| 10101010 AND 11001100 | 10001000 | Apenas posições com um nos dois operandos sobrevivem. |
| 10101010 OR 11001100 | 11101110 | Qualquer posição ativa fica ativa. |
| 10101010 XOR 11001100 | 01100110 | Bits iguais tornam-se zero e bits diferentes tornam-se um. |
| NOT 00001111 | 11110000 | Todos os oito bits são invertidos. |
| 00110011 << 2 | 11001100 | Zeros entram à direita; bits altos são descartados. |
| 11110000 >> 2 com sinal | 11111100 | Deslocamento aritmético replica o bit de sinal. |
Formato, largura e sinal
Binário aceita 0b e separadores; hexadecimal aceita 0x; decimal aceita um sinal conforme a semântica escolhida. Todo o valor deve caber no intervalo da largura. A ferramenta rejeita em vez de truncar a entrada.
O resultado é sempre mascarado para w bits. Quantidades negativas são rejeitadas; valores maiores ou iguais a w produzem zero no deslocamento à esquerda ou à direita lógico, enquanto um valor negativo no deslocamento aritmético permanece com todos os bits em 1.
- AND, OR e XOR usam dois operandos.
- NOT usa apenas A.
- Deslocamentos usam A e uma quantidade decimal não negativa.
- Deslocamento à direita é lógico sem sinal e aritmético com sinal.
Como a semântica é aplicada
As entradas são convertidas para um padrão sem sinal de w bits. Valores decimais negativos são codificados em complemento de dois somando 2^w.
AND, OR e XOR combinam padrões; NOT aplica XOR com uma máscara de w uns. O deslocamento à esquerda descarta bits acima da largura.
No deslocamento à direita sem sinal, zeros entram à esquerda. No modo com sinal, o padrão é interpretado como inteiro em complemento de dois e o operador replica o bit de sinal.
Usos práticos
Máscaras e deslocamentos aparecem em sistemas, protocolos e gráficos.
Flags e permissões
Ative, limpe e teste campos compactos.
Extração de campos
Combine deslocamentos e máscaras para ler subcampos.
Cores e píxeis
Separe canais ARGB ou componha valores compactos.
Emulação e redes
Valide registos, cabeçalhos e palavras de largura fixa.
Erros e limites
Resultados inesperados geralmente vêm de largura ou sinal incorretos.
Valor não cabe
Escolha largura maior ou corrija a interpretação; não há truncamento silencioso.
NOT sem largura
Inverter exige uma máscara finita; a largura define onde parar.
Deslocamento à direita ambíguo
Com sinal replica o bit principal; sem sinal insere zeros.
Deslocamento excessivo
Quantidades iguais ou maiores que a largura produzem zero nos deslocamentos à esquerda e à direita sem sinal; no deslocamento aritmético à direita, um valor negativo mantém todos os bits em 1.
Diferenças para outras ferramentas
Lógica posicional não é a mesma coisa que aritmética.
Calculadora binária
Soma e multiplicação usam transportes; operações bit a bit não.
Complemento de dois
Interpreta um padrão; esta página também o transforma.
Conversor de bases
Muda a escrita sem alterar bits; máscaras alteram o valor.
Operadores da linguagem
Muitas linguagens forçam 32 bits; aqui largura e sinal são explícitos até 64 bits.