ForHosting KIT · Ferramentas para dev

Calculadora de popcount

Conte quantos uns um número tem em binário: 42 escrito com 8 bits é 00101010, com 3 uns nas posições 1, 3 e 5 e 5 zeros. Útil para sinalizadores, máscaras de bits e exercícios de peso de Hamming. 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
Valor
42
Bits
8
Você obtém
Binário
00101010
Contagem de bits em 1
3
Bits em zero
5
Índices dos bits ativos
1, 3, 5

O population count, abreviado popcount ou chamado peso de Hamming, é a quantidade de bits em um na representação binária de um inteiro. Desenvolvedores usam isso ao dimensionar bitsets, pontuar traços semelhantes a paridade sem checksum completo, estimar a cardinalidade de máscaras no estilo bloom filter e confrontar intrinsics do compilador como __builtin_popcount com uma referência. Esta calculadora de population count aceita um inteiro não negativo e uma largura de bits fixa opcional; devolve o padrão binário preenchido com zeros, o total de bits em um, quantos zeros completam essa largura e os índices de cada um contados a partir do bit menos significativo.

O que o population count significa e por que desenvolvedores o pedem

Na aritmética de computadores, o population count de um inteiro não negativo é simplesmente quantos dos seus dígitos binários valem um. A mesma grandeza aparece sob vários nomes: peso de Hamming da cadeia de bits, soma lateral ou resultado de instruções de hardware como POPCNT em x86 e CNT em ARM. Contar bits em um não é o mesmo que converter bases nem calcular só a paridade: a conversão mostra o padrão, a paridade reduz a par ou ímpar, e o popcount informa a cardinalidade completa dos bits em um.

Essa cardinalidade importa quando um campo de flags empacota booleanos independentes, quando uma máscara esparsa representa colunas selecionadas num armazenamento de linhas, quando um pipeline gráfico precisa do número de amostras ativas, e quando problemas de entrevista pedem a distância de Hamming entre duas palavras — que é apenas o population count do XOR bit a bit.

Onde contar bits ligados realmente ajuda

Equipes de compiladores e de runtimes de linguagem fixam __builtin_popcount, Integer.bitCount e intrinsics semelhantes contra uma referência pura ao validar cross-compilação e shims WASM. Engenheiros de bancos de dados e de busca usam population count em bitmaps de listas de postings e pedaços no estilo roaring para estimar seletividade antes de materializar as postings. Código de segurança e de protocolos conta bits em máscaras de capacidades e bitfields de permissão ao registrar quantos privilégios um token realmente detém.

Plataformas de sala de aula e sandboxes de entrevistas de programação precisam de um popcount determinístico que mostre o padrão preenchido ao lado do total para que o aluno veja quais posições contribuem. Validação falha não consome saldo.

Oráculos de intrinsics e testes unitários

Compare POPCNT de hardware ou helpers bitCount da linguagem com binário preenchido puro e popcount em larguras fixas no CI.

Cardinalidade de bitsets e flags

Estime quantos flags ou colunas de bitmap estão ativos numa máscara antes de expandir a lista completa de recursos.

Ensinar o peso de Hamming

Mostre aos alunos o padrão preenchido com zeros e os índices LSB primeiro ao lado do total de uns para entrevistas e lições.

O que é population count (popcount)?

Population count é o número de bits em 1 na forma binária de um inteiro — também chamado peso de Hamming.

A calculadora aceita números negativos?

Não. Value deve ser um inteiro não negativo. Interpretações em complemento de dois de negativos estão fora do escopo; use uma ferramenta dedicada de complemento de dois se precisar de larguras com sinal.

O que o parâmetro bits controla?

Bits fixa a largura sem sinal usada para preencher binary com zeros e para checagens de faixa (1–53).

Como obtenho a distância de Hamming entre dois números?

Combine os dois números com um ou exclusivo bit a bit e conte aqui os uns do resultado. Cada um marca uma posição em que os números diferem, então essa contagem é a distância de Hamming.

Como as posições dos uns são numeradas?

Da direita para a esquerda, começando em 0 no bit menos significativo. Por isso 42, escrito como 00101010 com 8 bits, tem os uns nas posições 1, 3 e 5.

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/dev/population-count

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/dev/population-count \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"value":42}'
{
  "value": 42
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.population_count",
  "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.

Entradas negativas e não inteiras falham com invalid_input em vez de inventar uma interpretação em complemento de dois que voce não pediu.

O que o population count significa e por que desenvolvedores o pedem

Este endpoint implementa uma varredura determinística da esquerda para a direita sobre uma largura fixa para que a cadeia binária preenchida e a lista de índices de bits em um permaneçam estáveis entre runtimes. Zero tem population count zero e um padrão de um único bit em zero quando nenhuma largura é forçada; o maior inteiro seguro de JavaScript ainda cabe em cinquenta e três bits de significando, limite superior que esta calculadora aceita para que cada resultado continue sendo um número JSON exato.

Contrato de entrada, largura de preenchimento e campos de resposta

Opcionalmente envie bits, um inteiro de um a cinquenta e três, para fixar a largura de palavra sem sinal usada no preenchimento com zeros e na verificação de faixa. Envie por POST um objeto JSON com value, um inteiro não negativo obrigatório (número JSON ou string de dígitos) de zero até Number.MAX_SAFE_INTEGER. Quando bits está presente, value deve satisfazer zero menor ou igual a value e value menor que dois elevado a bits (limitado pelo teto de inteiro seguro em larguras grandes). Quando bits é omitido, a largura padrão é o comprimento natural de bits de value — piso do logaritmo na base dois mais um — ou um quando value é zero, de modo que o campo binary nunca seja uma string vazia. Em caso de sucesso o corpo ecoa value e bits; binary é o padrão de bits preenchido com zeros e o bit mais significativo à esquerda; popcount é o peso de Hamming; zero_bits é bits menos popcount; set_bit_indices lista cada posição em que aparece um um com o bit menos significativo como índice zero; e method é a constante population_count para clientes que ramificam conforme a identidade da ferramenta. Exemplo: value quarenta e dois com bits oito produz binary zero-zero-um-zero-um-zero-um-zero, popcount três, zero_bits cinco e índices um, três e cinco. Value ausente, negativos, frações, strings não numéricas, bits fora de um a cinquenta e três, ou um value que estoura a largura escolhida falham com invalid_input e não são cobrados. Objetos e arrays vazios são rejeitados com uma mensagem curta de contrato para que bugs de SDK apareçam de imediato.

Como set_bit_indices é ordenado?

Os índices usam o bit menos significativo como posição 0 e listam cada bit em 1 do baixo ao alto. Por exemplo, value 5 (binário 101) produz os índices [0, 2].

Quanto custa a calculadora de population count?

A ferramenta do navegador é gratuita. Pedidos API usam saldo pré-pago KIT a US$ 0,002 por chamada bem-sucedida; entrada inválida não é cobrada.

Ver a documentação completa do KIT →