Calculadora OR bit a bit
5 OR 3 dá 7: em binário, 101 e 11 se alinham pela direita e cada coluna que tem um 1 o mantém, o que dá 111. Digite dois números inteiros e receba o OR bit a bit, exato e sem cortes em 32 bits. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- A
- 5
- B
- 3
- Resultado
- 7
- Expressão
- 5 | 3 = 7
- Binário a
- 101
- Binário b
- 11
O OR bit a bit é a operação entre inteiros que liga um bit do resultado onde esse bit já está ligado no primeiro operando, no segundo ou em ambos. Quem programa escreve isso com uma barra vertical em C, Java, JavaScript, Python, Go e na maioria dos dialetos de assembly sempre que une flags de permissão, empacota bits de recurso ou combina máscaras de registradores de hardware. Quem estuda encontra o mesmo operador ao converter dois decimais para binário, alinhar os bits a partir da extremidade menos significativa e escrever um um em cada coluna que já contém um um. Esta calculadora aceita dois inteiros, avalia o OR bit a bit inclusivo com aritmética inteira exata em vez do corte de trinta e dois bits de uma linguagem, e devolve o inteiro resultante junto com as visões binárias das duas entradas e da resposta para que você possa conferir a olho a regra por colunas.
O que o OR bit a bit faz em cada bit
O OR bit a bit, escrito com uma barra vertical em C, Java, JavaScript, Python e na maioria das linguagens de assembly, constrói um inteiro resultado cujo bit na posição k vale um sempre que o bit nessa posição seja um no primeiro operando, no segundo ou em ambos. A regra é a disjunção inclusiva de dois bits: zero ou zero dá zero; qualquer outra combinação dá um.
Isso é diferente do ou exclusivo, que desliga um bit quando os dois lados já o têm, e do ou lógico, que reduz cada operando a um único verdadeiro ou falso em vez de percorrer o vetor de bits. Um par decimal trabalhado torna concreta a regra por colunas. Cinco em binário é um-zero-um e três é um-um; alinhando esses bits a partir da extremidade menos significativa obtém-se um-um-um, que é sete.
Doze é um-um-zero-zero e dez é um-zero-um-zero; o ou inclusivo coluna a coluna é um-um-um-zero, que é quatorze. A mesma identidade é como palavras de flags acumulam permissões: se leitura é o bit zero e escrita é o bit um, então leitura ou escrita é o inteiro três. Mapas de registradores de hardware, bits de modo de arquivo e flags de protocolos de rede usam todos este padrão de fundir uns.
Onde uma calculadora de OR bit a bit se paga
Quem desenvolve usa uma calculadora de OR bit a bit ao montar máscaras de permissão, unir bits de recurso ou conferir que uma constante em um cabeçalho é de fato a combinação inclusiva que imagina. Trabalho embarcado e de protocolo costuma documentar registradores como dumps hexadecimais; converter dois inteiros, uni-los com ou e ler os campos binários é mais rápido do que abrir um depurador para um caso pontual.
Cursos de ciência da computação apresentam o OR bit a bit na mesma semana que and, xor e os deslocamentos; um oráculo determinístico permite que uma plataforma de aprendizagem marque tanto a resposta decimal quanto a cadeia de bits sem executar código de aluno não confiável. Entrada inválida não consome saldo.
Mantenha os pedidos em dois inteiros seguros, fixe os exemplos de referência nos testes e você obtém o mesmo a barra-vertical b em um laptop e em um worker de automação sem levantar um sistema de álgebra computacional para um serviço de uma instrução. Operandos grandes como dois elevado a quarenta ou um permanecem exatos aqui; um operador de linguagem de trinta e dois bits largaria esses bits altos e devolveria um um errado, exatamente a classe de falha silenciosa que este contrato existe para impedir.
Casos de uso
Máscaras de permissão e de recursos
Una duas palavras inteiras de flags (leitura ou escrita, recurso A ou recurso B) e leia o resultado decimal mais os bits binários para confirmar a união.
Lições escolares de operações de bits
Deixe a turma enviar dois inteiros e conferir tanto o a | b decimal quanto a regra binária por colunas diante de um oráculo determinístico que rejeita não inteiros.
Constantes de registrador e de protocolo
Verifique que uma máscara documentada de hardware ou de protocolo é o OR inclusivo de dois campos listados, sem abrir um depurador nem confiar em corte de 32 bits.
Perguntas frequentes
O que acontece se uma entrada não for um inteiro?
Floats, texto, booleanos, valores ausentes e números não finitos são rejeitados e não são cobrados.
Isso é o mesmo que o operador | do JavaScript?
A regra de bits é a mesma, mas esta calculadora usa um OR inteiro de largura ilimitada. O | da linguagem costuma cortar em trinta e dois bits, então 2^40 | 1 viraria 1 lá e aqui permanece exato.
O OR bit a bit funciona com inteiros negativos?
Sim. Valores com sinal usam OR inclusivo em complemento de dois. O resultado é um inteiro seguro; os campos binários mostram um menos inicial nos negativos.
Qual a diferença entre o OR bit a bit, o XOR e o OU lógico?
O OR bit a bit deixa um 1 onde qualquer um dos dois números tiver, inclusive quando os dois têm. O XOR desliga esse bit em comum, e o OU lógico trata cada número inteiro como um único verdadeiro ou falso, sem comparar bit a bit.
Como combino permissões com OR?
Dê a cada permissão um bit próprio e junte-as com OR. Se leitura é o bit 0, que vale 1, e escrita é o bit 1, que vale 2, leitura OR escrita é 3, um só número que guarda as duas permissões.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
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.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/math/or \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":5,"b":3}'const res = await fetch("https://api.kit.forhosting.com/math/or", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": 5,
"b": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/or",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": 5,
"b": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/or", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":5,"b":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":5,"b":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/or", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"a": 5,
"b": 3
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.or",
"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.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_abs | 9007199254740991 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Qualquer operando que não seja um inteiro finito é rejeitado com invalid_input em vez de ser arredondado para baixo em silêncio.
O que o OR bit a bit faz em cada bit
Este endpoint aplica essa definição a dois inteiros e devolve o inteiro fundido; não interpreta flags com nome para você e não corta os operandos em trinta e dois bits como um operador nativo costuma fazer quando os bits altos ficam acima de uma palavra de máquina.
Contrato de entrada, forma da saída e validação
A implementação nunca arredonda um float em silêncio: enviar cinco ponto cinco é um erro, não um cinco forçado, o que evita o bug clássico em que um operador bit a bit da linguagem trunca em direção a zero e mesmo assim devolve um número. Validação falha não é cobrada. Envie por POST um objeto JSON com dois inteiros obrigatórios, a e b. Cada campo pode chegar como número JSON ou como cadeia de dígitos decimais, com um sinal inicial opcional. Aceitam-se os aliases x ou left para a, e y ou right para b; os nomes canônicos continuam a aparecer na resposta. Campos ausentes, cadeias vazias, booleanos, objetos, texto não numérico, infinitos e qualquer valor que não seja um inteiro finito falham com invalid_input e nomeiam o campo culpado, para que um renderizador de formulário possa destacar o controle. Valores fora da faixa de inteiros seguros também são rejeitados porque o tipo número de JSON não consegue representá-los com exatidão. Em caso de sucesso, o corpo ecoa a e b, devolve result como o inteiro OR bit a bit do par, inclui uma cadeia de expressão como cinco barra-vertical três igual a sete, e inclui binary_a, binary_b e binary_result para você auditar a regra por colunas sem um segundo passo de conversão. A aritmética usa um ou em complemento de dois de largura ilimitada via BigInt e depois converte de volta para um número JSON que permanece na faixa segura porque as duas entradas já estavam nela. Combine o JSON com a sua própria interface se quiser rótulos de flags com nome; esta capacidade só calcula a operação inteira.
Onde uma calculadora de OR bit a bit se paga
Pipelines de dados que empacotam flags categóricos em um único inteiro podem chamar a API a partir de qualquer linguagem que fale JSON em vez de reimplementar regras de largura em complemento de dois em cada runtime.
Perguntas técnicas
Como se calcula o OR bit a bit de dois inteiros?
Envie os inteiros a e b (ou os aliases x/left e y/right). A API devolve result = a | b, uma cadeia de expressão e as visões binárias dos dois operandos e da resposta.
Quanto custa a calculadora de OR bit a bit?
A ferramenta do navegador é gratuita. Pedidos API usam saldo KIT pré-pago a US$ 0,002 por chamada bem-sucedida; entrada inválida não é cobrada.