ForHosting KIT · Matemática

Calculadora bit a bit

60 AND 13 dá 12, 60 OR 13 dá 61 e 60 XOR 13 dá 49. Combine dois inteiros de 32 bits com AND, OR, XOR ou um deslocamento e receba exatamente o que C, Java ou JavaScript calculariam, com os dois números à vista. Grátis no seu navegador.

  • Grátis
  • Funciona no seu navegador
  • Sem cadastro
  • Seus dados não saem do seu aparelho
Use pelo WebAPIE-mailTelegramApp em breve
Se você digitar
A
60
B
13
Op
Xor
Você obtém
Resultado
49

Ela segue a mesma semântica de complemento de dois usada por C, Java e JavaScript, então o número que você recebe corresponde ao que o seu próprio código calcularia, sem arredondamento de ponto flutuante e sem surpresas. Os dois operandos são devolvidos junto ao resultado, e qualquer valor que não seja um inteiro genuíno de 32 bits é rejeitado com um erro claro e sem cobrança, em vez de ser truncado silenciosamente.

O que uma operação bit a bit realmente faz

Uma calculadora bitwise trabalha com a representação binária dos inteiros, e não com o valor decimal. Quando você calcula 60 AND 13, a máquina alinha os bits dos dois números — 111100 e 001101 — e mantém um 1 apenas onde ambos os operandos têm um 1, produzindo 12. OR mantém um 1 onde qualquer um dos dois tiver um, dando 61, e XOR mantém um 1 apenas onde os bits diferem, dando 49.

Essas três operações são a base de campos de flags, máscaras de permissão, sub-redes, funções de hash e formatos de compressão. Como o resultado depende apenas dos dois operandos, um cálculo bit a bit é totalmente determinístico: o mesmo par de inteiros sempre produz a mesma resposta, em qualquer máquina e em qualquer linguagem que use inteiros de 32 bits em complemento de dois.

Deslocamentos, bit de sinal e a semântica de 32 bits

Os deslocamentos movem todos os bits do primeiro operando para a esquerda ou para a direita conforme a quantidade indicada no segundo. Um deslocamento à esquerda de n posições multiplica por dois elevado a n, descartando os bits que saem pelo topo; é o caminho rápido clássico para potências de dois pequenas. O deslocamento à direita vem em dois sabores, e a diferença importa.

O deslocamento aritmético, shr, copia o bit de sinal para as posições liberadas, então um número negativo continua negativo: menos oito deslocado uma posição à direita é menos quatro. O deslocamento lógico, ushr, insere zeros em vez disso, o que reinterpreta o valor como sem sinal e é o que você quer ao extrair campos de bits de uma palavra compactada. Seguindo a convenção de JavaScript e Java, apenas os cinco bits baixos da quantidade de deslocamento são usados, então deslocar 33 é o mesmo que deslocar 1.

Os dois operandos são validados como inteiros genuínos de 32 bits antes de qualquer bit ser tocado, e entradas fora do intervalo ou não inteiras são rejeitadas em vez de truncadas sem aviso.

Como usar na prática

A requisição tem três campos: dois inteiros, a e b, e a operação op, que pode ser and, or, xor, shl, shr ou ushr. A resposta repete a operação e os dois operandos junto ao resultado inteiro, então você pode guardá-la ou registrá-la sem reconstruir a chamada. Não há estado entre requisições e nada é armazenado, então as mesmas entradas sempre retornam o mesmo resultado e seus dados nunca ficam em um servidor.

Decodificar flags compactados e máscaras de permissão

Verifique se um bit está ativo, limpe um flag ou combine bits de permissão de um campo de papéis com AND, OR e XOR sem escrever um script improvisado.

Conferir a aritmética de deslocamentos entre linguagens

Confirme o que um deslocamento à direita com sinal ou um lógico produz antes de portar código de baixo nível, para que um erro de sinal nunca chegue à produção.

Quanto custa?

Também é grátis executar no seu navegador nesta página, com exatamente o mesmo código.

Quais operações são suportadas?

AND, OR, XOR, deslocamento à esquerda (shl), deslocamento aritmético à direita (shr) e deslocamento lógico à direita (ushr).

Quais intervalos de entrada são aceitos?

Os dois operandos devem ser inteiros no intervalo com sinal de 32 bits, de -2147483648 a 2147483647.

Como os números negativos são tratados nos deslocamentos?

shr copia o bit de sinal, então valores negativos continuam negativos; ushr preenche com zeros, tratando o valor como sem sinal. Ambos seguem a semântica de complemento de dois de 32 bits.

O que acontece se eu deslocar mais de 31 posições?

Apenas os cinco bits baixos da quantidade de deslocamento são usados, como em JavaScript e Java: deslocar 33 é o mesmo que deslocar 1.

Algo é armazenado?

Não. Cada requisição é calculada e descartada; não há estado entre chamadas.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/math/bitwise

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/math/bitwise \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"a":60,"b":13}'
{
  "a": 60,
  "b": 13
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "math.bitwise",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

A API da calculadora bitwise aplica uma operação bit a bit — AND, OR, XOR, deslocamento à esquerda, deslocamento aritmético à direita ou deslocamento lógico à direita — sobre dois inteiros de 32 bits e devolve o resultado inteiro exato.

O que uma operação bit a bit realmente faz

Esse é exatamente o contrato deste endpoint: você envia dois inteiros e o nome de uma operação, e recebe o mesmo inteiro que o seu código calcularia, com os dois operandos repetidos para que a resposta seja autodescritiva em um log ou em uma trilha de auditoria.

Como usar o endpoint na prática

O mesmo código que roda no nosso edge roda de graça no seu navegador nesta página, o que significa que você pode prototipar uma máscara ou conferir um deslocamento manualmente e só pagar quando automatizar a chamada: US$ 0,002 por requisição via API. Se algum operando estiver faltando, não for um inteiro ou estiver fora do intervalo com sinal de 32 bits, o endpoint responde com um erro invalid_input e a chamada não é cobrada, o que torna seguro ligá-lo diretamente a um pipeline que ingere dados não confiáveis.

Ensinar e depurar representações binárias

Mostre a estudantes ou colegas exatamente como dois inteiros se combinam bit a bit, com o mesmo resultado no navegador e na API.

Ver a documentação completa do KIT →