Calculadora bit a bit
AND, OR, XOR, NOT e deslocamentos de bits em inteiros de 32 bits, com visualização bit a bit
Operandos
Operação
Resultado
12 & 10Padrão de 32 bits do resultado
Os valores são tratados como inteiros de 32 bits. O decimal com sinal interpreta o bit mais alto como sinal (complemento de dois); o decimal sem sinal lê os 32 bits como uma magnitude positiva. O deslocamento à direita é lógico (zeros preenchem pela esquerda).
Sobre esta ferramenta
A calculadora bit a bit permite que desenvolvedores e estudantes de computação calculem AND, OR, XOR, NOT e deslocamentos à esquerda e à direita em dois inteiros. Insira cada operando em binário, decimal ou hexadecimal e o resultado aparece de uma vez nas três bases, junto com um mapa de 32 bits ao vivo que mostra exatamente quais bits mudam. Foi feita para depurar flags e máscaras de bits, trabalhar com permissões, empacotar dados e aprender como os computadores manipulam bits no nível mais baixo.
Como usar
- 1 Insira o Operando A e escolha sua base (binário, decimal ou hex).
- 2 Escolha uma operação: AND, OR, XOR, deslocamento à esquerda/direita ou o NOT unário.
- 3 Em operações de dois operandos, insira o Operando B; em um deslocamento, quantos bits deslocar.
- 4 Leia o resultado em decimal, sem sinal, hex e binário e inspecione os bits destacados.
Como funciona
As operações bit a bit atuam em cada um dos 32 bits de forma independente. AND coloca um bit de resultado em 1 apenas quando ambos os bits de entrada são 1, por isso é usado para mascarar (manter) bits selecionados. OR coloca um bit em 1 quando qualquer um dos bits de entrada é 1, por isso é usado para ligar flags. XOR coloca um bit em 1 somente quando os dois bits de entrada diferem, o que o torna perfeito para alternar bits e para somas de verificação simples. NOT é unário: inverte cada bit, transformando 0 em 1 e 1 em 0. Um deslocamento à esquerda (<<) move todos os bits para a extremidade mais significativa e preenche com zeros, multiplicando por dois a cada posição; um deslocamento lógico à direita (>>) move-os no sentido contrário e também preenche com zeros. Como os números negativos são armazenados em complemento de dois, os mesmos 32 bits podem ser lidos como um valor com sinal (o bit mais alto é o sinal) ou sem sinal, e por isso esta ferramenta mostra ambos. Por exemplo 12 AND 10 = 8, 12 OR 10 = 14, 12 XOR 10 = 6, 1 << 4 = 16, e NOT 0 dá todos uns, ou seja, -1 com sinal ou 4294967295 sem sinal.
Perguntas frequentes
Qual a diferença entre AND, OR e XOR?
AND mantém um bit apenas quando ambos os operandos o têm ativado, por isso serve para limpar ou testar bits com uma máscara. OR ativa um bit quando qualquer operando o tem, por isso serve para ligar bits. XOR ativa um bit somente quando exatamente um operando o tem, o que alterna bits e detecta diferenças.
Por que NOT 0 mostra -1 e também 4294967295?
NOT inverte os 32 bits, então 0 vira trinta e dois uns. Lido como inteiro com sinal em complemento de dois, esse padrão é -1; lido como inteiro sem sinal de 32 bits, é 4294967295. Ambos descrevem os mesmos bits.
O que o deslocamento à esquerda ou à direita realmente faz?
Um deslocamento à esquerda de n move cada bit n posições para a extremidade mais significativa e preenche com zeros, multiplicando por 2 elevado a n. Um deslocamento lógico à direita de n move-os no sentido contrário e preenche com zeros, dividindo por 2 elevado a n os valores não negativos.
Por que tudo é limitado a 32 bits?
Os operadores bit a bit do JavaScript e a maioria dos registradores inteiros da CPU trabalham com palavras de 32 bits, e esta ferramenta reflete isso. As quantidades de deslocamento são tomadas módulo 32 e os valores dão a volta dentro do intervalo de 32 bits, exatamente como em C, Java ou JavaScript.
Ferramentas e usos relacionados
Para converter um único valor entre binário, octal, decimal e hex, use o conversor de bases numéricas. Para códigos de caracteres veja o conversor ASCII, e para máscaras de cor o conversor de códigos de cor.