ForHosting KIT · Utilidades de desarrollo

Calculadora de popcount

Cuente cuántos unos tiene un número en binario: 42 escrito con 8 bits es 00101010, con 3 unos en las posiciones 1, 3 y 5 y 5 ceros. Útil para indicadores, máscaras de bits y ejercicios de peso de Hamming. Gratis en su navegador.

  • Gratis
  • Funciona en su navegador
  • Sin registro
  • Sus datos no salen de su equipo
Úselo desde WebAPIEmailTelegramApp pronto
Si escribe
Valor
42
Bits
8
Obtiene
Binario
00101010
Cantidad de bits en 1
3
Bits en cero
5
Índices de bits activos
1, 3, 5

El population count, abreviado popcount o llamado peso de Hamming, es la cantidad de bits a uno en la representación binaria de un entero. Los desarrolladores lo usan al dimensionar bitsets, puntuar rasgos tipo paridad sin un checksum completo, estimar la cardinalidad de máscaras al estilo bloom filter y contrastar intrinsics del compilador como __builtin_popcount con una referencia. Esta calculadora de population count acepta un entero no negativo y un ancho de bits fijo opcional; devuelve el patrón binario rellenado con ceros, el total de bits a uno, cuántos ceros completan ese ancho y los índices de cada uno contados desde el bit menos significativo.

Qué significa el population count y por qué lo piden los desarrolladores

En la aritmética de computadores, el population count de un entero no negativo es simplemente cuántos de sus dígitos binarios valen uno. La misma magnitud aparece con varios nombres: peso de Hamming de la cadena de bits, suma lateral o resultado de instrucciones de hardware como POPCNT en x86 y CNT en ARM.

Contar bits a uno no es lo mismo que convertir bases ni calcular solo la paridad: la conversión muestra el patrón, la paridad lo reduce a par o impar, y el popcount informa la cardinalidad completa de los bits a uno.

Esa cardinalidad importa cuando un campo de flags empaqueta booleanos independientes, cuando una máscara dispersa representa columnas seleccionadas en un almacén de filas, cuando un pipeline gráfico necesita el número de muestras activas, y cuando los problemas de entrevista piden la distancia de Hamming entre dos palabras, que no es más que el population count de su XOR bit a bit.

Dónde ayuda de verdad contar bits encendidos

Los equipos de compiladores y de runtimes de lenguaje contrastan __builtin_popcount, Integer.bitCount e intrinsics similares con una referencia pura al validar cross-compilación y shims WASM. Ingenieros de bases de datos y de búsqueda usan el population count sobre bitmaps de listas de postings y trozos al estilo roaring para estimar la selectividad antes de materializar las postings. El código de seguridad y de protocolos cuenta bits en máscaras de capacidades y campos de permisos al registrar cuántos privilegios retiene realmente un token.

Las plataformas de aula y los sandboxes de entrevistas de programación necesitan un popcount determinista que muestre el patrón rellenado junto al total para que el alumno vea qué posiciones contribuyen. La validación fallida no consume saldo.

Cardinalidad de bitsets y flags

Estime cuántos flags o columnas de bitmap están activos en una máscara antes de expandir la lista completa de características.

Enseñar el peso de Hamming

Muestre a los alumnos el patrón rellenado con ceros y los índices LSB primero junto al total de unos para entrevistas y deberes.

¿Qué es el population count (popcount)?

El population count es el número de bits a 1 en la forma binaria de un entero —también llamado peso de Hamming.

¿Acepta la calculadora números negativos?

No. Value debe ser un entero no negativo. Las interpretaciones en complemento a dos de negativos quedan fuera de alcance; use una herramienta dedicada de complemento a dos si necesita anchos con signo.

¿Qué controla el parámetro bits?

Bits fija el ancho sin signo usado para rellenar binary con ceros y para las comprobaciones de rango (1–53).

¿Cómo obtengo la distancia de Hamming entre dos números?

Combine los dos números con una disyunción exclusiva bit a bit y cuente aquí los unos del resultado. Cada uno marca una posición en la que los números difieren, así que ese recuento es su distancia de Hamming.

¿Cómo se numeran las posiciones de los unos?

Desde la derecha, empezando por 0 en el bit menos significativo. Por eso 42, escrito como 00101010 con 8 bits, tiene sus unos en las posiciones 1, 3 y 5.

Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.

POSThttps://api.kit.forhosting.com/dev/population-count

¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.

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"
  }
}

La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

Las entradas negativas y no enteras fallan con invalid_input en lugar de inventar una interpretación en complemento a dos que usted no solicitó.

Qué significa el population count y por qué lo piden los desarrolladores

Este endpoint implementa un recorrido determinista de izquierda a derecha sobre un ancho fijo para que la cadena binaria rellenada y la lista de índices de bits a uno se mantengan estables entre runtimes. El cero tiene population count cero y un patrón de un solo bit en cero cuando no se fuerza el ancho; el mayor entero seguro de JavaScript cabe aún en cincuenta y tres bits de significando, que es el límite superior que acepta esta calculadora para que cada resultado siga siendo un número JSON exacto.

Contrato de entrada, ancho de relleno y campos de respuesta

Opcionalmente envíe bits, un entero de uno a cincuenta y tres, para fijar el ancho de palabra sin signo usado en el relleno con ceros y en la comprobación de rango. Envíe por POST un objeto JSON con value, un entero no negativo obligatorio (número JSON o cadena de dígitos) desde cero hasta Number.MAX_SAFE_INTEGER. Cuando bits está presente, value debe cumplir cero menor o igual que value y value menor que dos elevado a bits (limitado por el tope de entero seguro en anchos grandes). Cuando bits se omite, el ancho por defecto es la longitud natural de bits de value —suelo del logaritmo en base dos más uno— o uno cuando value es cero, de modo que el campo binary nunca sea una cadena vacía. En caso de éxito el cuerpo repite value y bits; binary es el patrón de bits rellenado con ceros y el bit más significativo a la izquierda; popcount es el peso de Hamming; zero_bits es bits menos popcount; set_bit_indices enumera cada posición donde aparece un uno con el bit menos significativo como índice cero; y method es la constante population_count para clientes que ramifican según la identidad de la herramienta. Ejemplo: value cuarenta y dos con bits ocho produce binary cero-cero-uno-cero-uno-cero-uno-cero, popcount tres, zero_bits cinco e índices uno, tres y cinco. Si falta value, o hay negativos, fracciones, cadenas no numéricas, bits fuera de uno a cincuenta y tres, o un value que desborda el ancho elegido, la petición falla con invalid_input y no se factura. Los objetos y arrays vacíos se rechazan con un mensaje breve de contrato para que los fallos del SDK se detecten de inmediato.

Dónde una API de popcount aporta valor en flujos reales

Como la implementación es pure parse de nivel A, cada llamada exitosa cuesta el precio base publicado $0.002, sin tokens de modelo ni red saliente.

Oráculos de intrinsics y pruebas unitarias

Compare POPCNT de hardware o helpers bitCount del lenguaje con un binario rellenado puro y el popcount en anchos fijos dentro de CI.

¿Cómo se ordenan set_bit_indices?

Los índices usan el bit menos significativo como posición 0 y enumeran cada bit a 1 de bajo a alto. Por ejemplo, value 5 (binario 101) produce los índices [0, 2].

¿Cuánto cuesta la calculadora de population count?

La herramienta del navegador es gratuita. Las peticiones API usan saldo prepago KIT a $0.002 por llamada exitosa; la entrada inválida no se factura.

Ver la documentación completa del KIT →