Verificador de paridade de inteiros
Conte os uns de um número em binário e obtenha a paridade: 13 é 1101, com três uns, então a paridade é ímpar e o bit de paridade vale 1. Você também vê a sequência binária e quantos uns e zeros ela tem. 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
- N
- 13
- Magnitude
- 13
- Binário
- 1101
- Comprimento em bits
- 4
- Quantidade de uns
- 3
A paridade de um inteiro —se a representação binária de um número contém uma contagem par ou ímpar de bits iguais a um— é uma verificação fundamental em teoria de códigos, projeto de checksums e depuração de baixo nível. Alunos que aprendem popcount, engenheiros que validam layouts de empacotamento de bits e scripts de automação que precisam de uma resposta determinística de uns pares ou ímpares se beneficiam de um único contrato que nunca inventa bits a partir de ruído de ponto flutuante.
O que significa a paridade de bits 1 de um inteiro e como o popcount a define
A paridade de bits 1 de um inteiro é a paridade do seu population count: escreva a magnitude na base dois, conte quantos dígitos são um e reduza essa contagem módulo dois. Quando a contagem de uns é par, o inteiro tem paridade par e o bit de paridade é zero; quando a contagem de uns é ímpar, o inteiro tem paridade ímpar e o bit de paridade é um.
É a mesma ideia estrutural por trás de verificações de paridade simples em sistemas de comunicação, do bit menos significativo de um peso de Hamming e de exercícios de sala que perguntam se um número tem paridade par ou ímpar em binário —não se o número em si é par ou ímpar como quantidade decimal—. Zero é binário 0 com zero uns, o que é paridade par.
Entradas negativas são aceitas por conveniência, mas a expansão de bits usa sempre o valor absoluto: menos treze compartilha a mesma contagem de uns e a mesma paridade que treze, e a resposta ecoa o n com sinal original ao lado de magnitude para que os clientes possam exibir ambos. Essa regra do valor absoluto evita inventar uma largura de palavra de máquina para complemento de dois, o que faria o mesmo inteiro matemático reportar paridades diferentes em trinta e dois versus sessenta e quatro bits.
O algoritmo é um laço curto de deslocamentos e máscaras —ou qualquer popcount equivalente—, de modo que a resposta é única, sem efeitos colaterais e idêntica em todo runtime que implemente inteiros seguros da mesma forma. Nenhuma chamada de rede, semente aleatória ou relógio de parede participa do resultado.
Casos de uso
Demos de codificação e detecção de erros
Amostre a paridade de uns de campos inteiros empacotados ao ensinar verificações de paridade simples antes de CRC ou Hamming em cadernos de laboratório.
Correção automática em LMS e entrevistas
Marque itens de paridade popcount com um oráculo determinístico que rejeita não inteiros e nunca inventa bits a partir de valores flutuantes ou inseguros.
Perguntas frequentes
O que acontece com inteiros negativos?
O n com sinal original é ecoado, mas o trabalho de bits usa o valor absoluto (magnitude). Nenhuma largura de complemento de dois é assumida.
É a mesma coisa que perguntar se n é um número par?
Não. Par/ímpar decimal olha apenas a divisibilidade por dois. A paridade de bits 1 olha quantos bits 1 aparecem na expansão binária. Exemplo: 2 é um número par, mas o binário 10 tem um bit 1 (paridade ímpar).
Qual a diferença em relação a uma calculadora de bit de paridade ou ao bit de Thue-Morse?
Uma ferramenta de bit de paridade anexa ou verifica um bit de paridade em uma string de bits ou byte arbitrários. Thue-Morse nomeia a sequência t(n)=popcount(n) mod 2 para índices não negativos. Este verificador mira a paridade de bits 1 de inteiros para checagens gerais de codificação e detecção de erros, incluindo tratamento de magnitude com sinal e campos de diagnóstico.
Qual é a paridade do zero?
Par. O zero é 0 em binário e não tem nenhum um; uma contagem de zero uns é par, então o bit de paridade vale 0. Pela mesma regra, 10, que é 1010 com dois uns, também tem paridade par.
Aceita números com casas decimais?
Não. Só são aceitos inteiros, digitados como número ou como dígitos. Um valor com casas decimais é recusado em vez de arredondado, para que uma correção automática nunca aprove uma entrada que não é inteira.
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/dev/integer-parity \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":13}'const res = await fetch("https://api.kit.forhosting.com/dev/integer-parity", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 13
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/integer-parity",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 13
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/integer-parity", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":13}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":13}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/integer-parity", 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
{
"n": 13
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.integer_parity",
"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.
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
Este verificador de paridade de inteiros aceita um inteiro n, trabalha sobre o valor absoluto para que entradas com sinal em sala de aula permaneçam bem definidas sem escolher uma largura arbitrária de complemento de dois, devolve a string binária, as contagens de uns e zeros, o rótulo de paridade (par ou ímpar) e o bit de paridade zero ou um, e rejeita não inteiros com invalid_input para que corretores e pipelines nunca tratem um payload fracionário como sucesso.
O que significa a paridade de bits 1 de um inteiro e como o popcount a define
Por exemplo, treze é binário 1101 com três uns, então ones_count é três, parity é odd e parity_bit é um. Dez é binário 1010 com dois uns, então parity é even e parity_bit é zero.
Contrato de entrada, campos de resposta e comportamento de erro
Envie por POST um corpo JSON com um único campo obrigatório n: um inteiro, como número JSON ou como string de dígitos decimais que caiba no intervalo de inteiros seguros de JavaScript (incluindo um sinal de mais ou menos inicial). Os aliases value, number, integer e x são aceitos quando n é omitido, para que widgets de formulário e scripts rápidos usem rótulos familiares. Se faltar n, houver strings vazias, não inteiros, números não finitos ou valores fora do intervalo de inteiros seguros, a tarefa falha com invalid_input nomeando o problema; essas falhas de validação não são cobradas. Em caso de sucesso o corpo ecoa n, fornece magnitude como o valor absoluto usado no trabalho de bits, binary como a string em base dois dessa magnitude sem prefixo 0b (zero produz o único caractere 0), bit_length como o comprimento dessa string, ones_count como o número de bits iguais a um, zeros_count como o número de bits iguais a zero na mesma expansão, parity como a string even ou odd, parity_bit como 0 ou 1, is_even_parity como um espelho booleano da paridade par, e uma string formula breve reafirmando que a paridade é o popcount do valor absoluto de n módulo dois. Exemplo: n igual a treze produz magnitude treze, binary 1101, bit_length quatro, ones_count três, zeros_count um, parity odd, parity_bit um e is_even_parity false. Exemplo: n igual a zero produz binary 0, ones_count zero, parity even e parity_bit zero. Clientes que só precisam de um booleano podem ler is_even_parity; tutores podem mostrar binary e ones_count ao lado da resposta para que os alunos auditem a contagem. A implementação é parse pura de nível A: sem rede, sem tokens de modelo, sem sistema de arquivos, e o mesmo módulo pode rodar no caminho gratuito do navegador e no Worker de borda sem divergir resultados.
Onde um verificador de paridade de inteiros agrega valor
Cadernos de firmware e protocolos frequentemente precisam de um oráculo rápido sobre se um campo empacotado tem uns pares ou ímpares ao projetar esquemas de paridade simples ou validar tabelas-verdade calculadas à mão. Combine este verificador com uma ferramenta separada de anexação de bit de paridade quando precisar anexar um bit de paridade a uma string de bits arbitrária; esta capacidade foca no próprio inteiro e na sua contagem de uns, que é a intenção de busca por trás de um verificador de paridade de inteiros, e não um índice de sequência Thue-Morse nem um codificador de strings de bits de forma livre. Cursos de teoria de códigos e projeto digital usam a paridade de bits 1 ao introduzir ideias de detecção de erros antes de códigos CRC ou Hamming completos; uma API pequena permite que plugins LMS verifiquem respostas de alunos para inteiros arbitrários sem enviar uma biblioteca completa de manipulação de bits. Ferramentas de depuração e geradores de preparação para entrevistas podem chamar este endpoint para produzir rótulos par/ímpar determinísticos com diagnósticos binários intermediários em vez de colar JavaScript ad hoc que diverge em zero, em negativos ou em inteiros seguros grandes. Como cada chamada bem-sucedida custa o preço base publicado US$ 0,002 sem tokens de modelo e sem rede de saída, a validação falha não consome saldo, e o algoritmo é um punhado de operações de bits, você obtém respostas de paridade reproduzíveis para lição de casa, avaliação, demos de checksum e workers de borda sem montar infraestrutura de codificação mais pesada. Mantenha as requisições pequenas, documente que n é um inteiro seguro e que magnitude dirige os bits, e trate parity e parity_bit como os campos canônicos de resposta para verificações automáticas.
Casos de integração
Verificações em sala e lição de casa
Permita que os alunos enviem um inteiro n e verifiquem a paridade par/ímpar de bits 1 frente ao popcount, com binary e ones_count visíveis para crédito parcial.
Perguntas técnicas
Como o verificador de paridade de inteiros decide entre par e ímpar?
Ele conta os bits iguais a um na forma binária de |n| (popcount) e reduz módulo 2. ones_count par → parity even e parity_bit 0; ones_count ímpar → parity odd e parity_bit 1.
Quanto custa o verificador de paridade de inteiros?
A ferramenta do navegador é gratuita. Requisições API usam saldo pré-pago KIT a US$ 0,002 por chamada bem-sucedida; entrada inválida não é cobrada.