🧰 UtlKit

Calculadora Bit a Bit: Como Fazer AND, OR e XOR de Dois Números em 32 Bits, com Deslocamentos, NOT, o Bit de Sinal e as Cinco Saídas Explicadas

Sete operacoes bit a bit sobre palavras de 32 bits: AND, OR, XOR, NOT A, NOT B e deslocamentos a esquerda e a direita, com numeros trabalhados (12 AND 10 = 8), o deslocamento aritmetico que conserva o sinal, a mascara 31 sobre a quantidade de deslocamento e cinco bases de saida de uma vez, tudo em local no navegador.

Uma calculadora bit a bit trabalha sobre a palavra de 32 bits que a máquina guarda de verdade, não sobre o decimal que você digitou. A Calculadora Bit a Bit toma dois números, aplica uma de sete operações (AND, OR, XOR, NOT A, NOT B, deslocamento à esquerda, deslocamento à direita) e imprime o resultado em cinco bases de uma vez: decimal, hexadecimal, binário de 8 bits, binário de 32 bits e octal. Nada é enviado; as operações rodam sobre os inteiros JavaScript do navegador. Este post percorre cada operação com números trabalhados, mostra onde o bit de sinal se infiltra nos deslocamentos e as máscaras que fazem do AND o cavalo de batalha do código a nível de byte.

Sete operações sobre uma palavra de 32 bits

As três operações de pares agem sobre cada posição de bit. 12 é 0b1100 e 10 é 0b1010: AND guarda só as posições onde ambos têm um 1, então 12 AND 10 = 0b1000 = 8; OR guarda a posição onde pelo menos um tem um 1, então 12 OR 10 = 0b1110 = 14; XOR guarda a posição onde exatamente um tem um 1, então 12 XOR 10 = 0b0110 = 6. Os dois botões NOT invertem cada bit de um operando: 5 é 0b0101 e sua forma invertida 0b1010 é a leitura em complemento de dois de -6, que em hexadecimal de 32 bits se imprime como 0xFFFFFFFA. Os dois deslocamentos movem os bits: 1 deslocado 4 para a esquerda é 16, e 1024 deslocado 2 para a direita é 256. Quando você quer o mesmo valor em outra base sem tocar nos bits, o conversor de base numérica faz a conversão pura.

Três bases de entrada, um valor de 32 bits

Cada campo aceita decimal plano, hexadecimal com prefixo 0x e binário com prefixo 0b, e o analisador guarda um único inteiro de 32 bits por trás dos três. 0xFF AND 0x0F = 15 é a máscara do nibble baixo que você vê em todo protocolo de bytes. Enquanto você digita, a ferramenta devolve cada operando como uma cadeia binária de 32 bits agrupada em nibbles, e o painel de resultado desenha os 8 bits baixos como oito caixas acesas ou apagadas: 255 acende as oito, 16 acende uma só. Ler esses grupos de olho é a mesma habilidade de converter texto em código binário, e o conversor de texto e binário a treina letra a letra.

Deslocamentos, o bit de sinal e a máscara 31

O deslocamento para a direita é aritmético: copia o bit de sinal ao se mover, então -8 é 0xFFFFFFF8 e -8 deslocado 1 para a direita dá 0xFFFFFFFC = -4, não 0x7FFFFFFC. O da esquerda preenche zeros pela direita, mas o bit 31 é o bit de sinal da palavra de 32 bits, então 1 deslocado 30 para a esquerda é 1073741824 (0x40000000), ainda positivo, enquanto 1 deslocado 31 para a esquerda é -2147483648, o negativo menor. A quantidade de deslocamento é mascarada primeiro para 0-31: 1 deslocado 33 para a esquerda se comporta exatamente como 1 deslocado 1 e devolve 2. Sem erro, sem aviso de estouro. Tirar um byte de uma palavra é o padrão cotidiano: 0xFF00 deslocado 8 para a direita dá 255. Para idas e voltas a nível de byte entre hexadecimal e UTF-8, o conversor Hex UTF-8 Base64 é o irmão desta vista.

Cinco bases de saída de uma vez

O painel de resultado mostra o mesmo valor cinco vezes: decimal, hexadecimal (maiúsculas, prefixo 0x), binário de 8 bits, binário de 32 bits e octal. 255 se imprime como 255, 0xFF, 0b1111 1111, a cadeia de 32 bits com os 24 bits altos a zero, e 0o377. A coluna octal não é enfeite: o trio de permissões de arquivo é octal porque cada dígito é exatamente um grupo de 3 bits de permissão, então 0o755 é a palavra de 9 bits 0b111101101, que é rwxr-xr-x e 493 em decimal. A calculadora de permissões Chmod expande esse trio nas linhas de proprietário, grupo e outros, que é a vista a nível de bit desta coluna.

Máscaras: o trabalho cotidiano do AND

AND com um número pequeno guarda só os bits baixos: 0xFF AND 0x0F = 15, e -1 AND 7 = 7 porque -1 é todos uns. Testar um único flag é valor AND (1 << n): se a resposta não é 0, o bit n está posto. XOR é o próprio inverso, então é um cifrador de uma linha: 65 XOR 42 = 107 e 107 XOR 42 = 65; um byte XOR duas vezes com a mesma chave volta sem mudar. 15 nas três bases compactas é 0b1111, 0o17 e 0xF. As codificações que empacotam bytes em texto, como Base64, se sentam sobre o mesmo grupo de 6 bits desta seção, e o codificador e decodificador Base64 mostra a tabela de correspondência.

Os mesmos 0 e 1 em todo lugar

A matemática bit a bit é a camada pequena sob tudo que conta por bytes. O guia de texto para binário corta os caracteres em grupos de 8 bits à mão; o gerador de hash mistura depois o buffer inteiro com justas estas operações, AND, OR, XOR e rotações, até sair um resumo de 32 bits. Quando a pergunta é em que base ler um valor, comece dos bits: cada base deste site, das caixas de 8 bits daqui até os dígitos octais de permissão, é a mesma palavra de 32 bits com outra notação. A calculadora é onde essa palavra para de ser abstrata: duas entradas, uma operação, cinco maneiras de ler a resposta.

Ferramentas Relacionadas

Perguntas Frequentes

Quais operações a Calculadora Bit a Bit suporta?

Sete: AND, OR e XOR agem sobre os dois números, NOT A e NOT B invertem um operando, e o deslocamento à esquerda e à direita movem os bits de um número pela quantidade que o outro dá. Todas rodam sobre inteiros de 32 bits, e o resultado é impresso de uma vez em decimal, hexadecimal, binário de 8 bits, binário de 32 bits e octal.

Como a calculadora lê minha entrada?

Cada campo aceita decimal plano, hexadecimal com prefixo 0x e binário com prefixo 0b, tudo analisado no mesmo inteiro de 32 bits. Enquanto você digita, a ferramenta devolve o operando como uma cadeia binária de 32 bits agrupada em nibbles, para você checar os bits antes de escolher a operação.

O que acontece se eu deslocar mais de 31?

A quantidade de deslocamento é mascarada primeiro para 0-31 antes de ser aplicada, então 1 deslocado 33 para a esquerda se comporta exatamente como 1 deslocado 1 e devolve 2. Sem erro, sem aviso de estouro; os bits extras da quantidade são descartados.

Por que -8 deslocado 1 para a direita é -4?

Porque o deslocamento para a direita é aritmético: copia o bit de sinal ao mover-se a palavra. -8 é 0xFFFFFFF8; um passo aritmético dá 0xFFFFFFFC, que é -4. Um deslocamento lógico daria 0x7FFFFFFC, um número positivo grande, mas esta calculadora conserva o sinal.

A calculadora envia meus números?

Não. As entradas ficam no navegador, as sete operações rodam sobre inteiros JavaScript, e as cinco bases do resultado são todas calculadas em local. Fechar a aba apaga tudo; nada é salvo nem enviado.

Artigos Relacionados