ForHosting KIT · Strumenti per sviluppatori

Calcolatore di popcount

Conti quanti uno ha un numero in binario: 42 scritto su 8 bit è 00101010, con 3 uno nelle posizioni 1, 3 e 5 e 5 zeri. Utile per indicatori, maschere di bit ed esercizi sul peso di Hamming. Gratis nel suo browser.

  • Gratis
  • Funziona nel suo browser
  • Senza registrazione
  • I suoi dati restano sul dispositivo
Usalo da WebAPIEmailTelegramApp presto
Se inserisce
Valore
42
Bit
8
Ottiene
Binario
00101010
Conteggio dei bit a 1
3
Bit a zero
5
Indici dei bit attivi
1, 3, 5

Il population count, spesso abbreviato popcount o chiamato peso di Hamming, è il numero di bit a uno nella rappresentazione binaria di un intero. Gli sviluppatori lo usano per dimensionare bitset, valutare tratti simili alla parità senza un checksum completo, stimare la cardinalità di maschere in stile bloom filter e confrontare intrinsic del compilatore come __builtin_popcount con un riferimento. Questo calcolatore di population count accetta un intero non negativo e un’ampiezza di bit fissa opzionale; restituisce il pattern binario imbottito di zeri, il totale dei bit a uno, quanti zeri completano quell’ampiezza e gli indici di ogni uno contati dal bit meno significativo.

Cosa significa il population count e perché lo chiedono gli sviluppatori

Nell’aritmetica dei calcolatori, il population count di un intero non negativo è semplicemente quanti dei suoi digit binari valgono uno. La stessa grandezza compare sotto diversi nomi: peso di Hamming della stringa di bit, somma laterale, o risultato di istruzioni hardware come POPCNT su x86 e CNT su ARM.

Contare i bit a uno non è la stessa cosa che convertire le basi o calcolare solo la parità: la conversione mostra il pattern, la parità lo riduce a pari o dispari, e il popcount riporta la cardinalità completa dei bit a uno.

Quella cardinalità conta quando un campo di flag impacchetta booleani indipendenti, quando una maschera sparsa rappresenta colonne selezionate in uno store a righe, quando una pipeline grafica ha bisogno del numero di campioni attivi, e quando i problemi da colloquio chiedono la distanza di Hamming tra due parole — che è solo il population count del loro XOR bit a bit.

Dove contare i bit a uno aiuta davvero

I team di compilatori e di runtime di linguaggio confrontano __builtin_popcount, Integer.bitCount e intrinsic simili con un riferimento puro quando validano la cross-compilazione e gli shim WASM. Gli ingegneri di database e di ricerca usano il population count su bitmap di posting list e chunk in stile roaring per stimare la selettività prima di materializzare le posting. Il codice di sicurezza e di protocolli conta i bit in maschere di capability e bitfield di permessi quando registra quanti privilegi un token detiene davvero.

Le piattaforme didattiche e i sandbox per colloqui di programmazione necessitano di un popcount deterministico che mostri il pattern imbottito accanto al totale così chi impara vede quali posizioni contribuiscono. La validazione fallita non consuma saldo.

Oracoli di intrinsic e test unitari

Confronti POPCNT hardware o helper bitCount del linguaggio con un binario imbottito puro e il popcount per ampiezze fisse in CI.

Cardinalità di bitset e flag

Stimi quanti flag o colonne bitmap sono attivi in una maschera prima di espandere l’elenco completo delle funzionalità.

Insegnare il peso di Hamming

Mostri agli studenti il pattern imbottito di zeri e gli indici LSB per primi accanto al totale di uni per colloqui e compiti.

Che cos’è il population count (popcount)?

Il population count è il numero di bit a 1 nella forma binaria di un intero — chiamato anche peso di Hamming.

Il calcolatore accetta numeri negativi?

No. Value deve essere un intero non negativo. Le interpretazioni in complemento a due dei negativi sono fuori ambito; usi uno strumento dedicato di complemento a due se le servono ampiezze con segno.

Cosa controlla il parametro bits?

Bits fissa l’ampiezza senza segno usata per imbottire binary di zeri e per i controlli di intervallo (1–53). Se omesso, l’ampiezza è la lunghezza naturale in bit di value (1 per zero).

Come ottengo la distanza di Hamming tra due numeri?

Combini i due numeri con un or esclusivo bit a bit, poi conti qui gli uno del risultato. Ogni uno segna una posizione in cui i numeri differiscono, quindi quel conteggio è la loro distanza di Hamming.

Come vengono numerate le posizioni degli uno?

Da destra, partendo da 0 per il bit meno significativo. Per questo 42, scritto come 00101010 su 8 bit, ha i suoi uno nelle posizioni 1, 3 e 5.

Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.

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

Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.

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

L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.

per richiesta$0.002

Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.

HTTPCodiceSignificato
401unauthorizedChiave API mancante o non valida: controlla l'header Authorization.
402insufficient_balanceCredito esaurito: ricarica per continuare a eseguire attività.
404unknown_typeTipo di attività sconosciuto: controlla il campo type della richiesta.
429rate_limitedTroppe richieste in poco tempo: rallenta e riprova tra qualche secondo.

Gli input negativi e non interi falliscono con invalid_input invece di inventare un’interpretazione in complemento a due che Lei non ha richiesto.

Cosa significa il population count e perché lo chiedono gli sviluppatori

Questo endpoint implementa una scansione deterministica da sinistra a destra su un’ampiezza fissa così che la stringa binaria imbottita e l’elenco degli indici dei bit a uno restino stabili tra i runtime. Lo zero ha population count zero e un pattern a un solo bit zero quando non si impone l’ampiezza; il più grande intero sicuro di JavaScript entra ancora in cinquantatré bit di significando, limite superiore che questo calcolatore accetta affinché ogni risultato resti un numero JSON esatto.

Contratto di input, ampiezza di imbottitura e campi di risposta

Opzionalmente invii bits, un intero da uno a cinquantatré, per fissare l’ampiezza di parola senza segno usata per l’imbottitura di zeri e il controllo di intervallo. Invii con POST un oggetto JSON con value, un intero non negativo obbligatorio (numero JSON o stringa di cifre) da zero a Number.MAX_SAFE_INTEGER. Quando bits è presente, value deve soddisfare zero minore o uguale a value e value minore di due elevato a bits (limitato dal tetto di intero sicuro per ampiezze elevate). Quando bits è omesso, l’ampiezza predefinita è la lunghezza naturale in bit di value — pavimento del logaritmo in base due più uno — oppure uno quando value è zero, così il campo binary non è mai una stringa vuota. In caso di successo il corpo ripete value e bits; binary è il pattern di bit imbottito di zeri con il bit più significativo a sinistra; popcount è il peso di Hamming; zero_bits è bits meno popcount; set_bit_indices elenca ogni posizione in cui compare un uno con il bit meno significativo come indice zero; e method è la costante population_count per i client che si ramificano in base all’identità dello strumento. Esempio: value quarantadue con bits otto produce binary zero-zero-uno-zero-uno-zero-uno-zero, popcount tre, zero_bits cinque e indici uno, tre e cinque. Value mancante, negativi, frazioni, stringhe non numeriche, bits fuori da uno a cinquantatré, o un value che sfora l’ampiezza scelta falliscono con invalid_input e non vengono fatturati. Oggetti e array vuoti sono rifiutati con un breve messaggio di contratto così i bug dell’SDK emergono subito.

Dove un’API di popcount porta valore nei flussi reali

Poiché l’implementazione è pure parse di tier A, ogni chiamata riuscita costa il prezzo base pubblicato $0.002, senza token di modello né rete in uscita.

Come sono ordinati set_bit_indices?

Gli indici usano il bit meno significativo come posizione 0 e elencano ogni bit a 1 dal basso verso l’alto. Ad esempio, value 5 (binario 101) produce gli indici [0, 2].

Quanto costa il calcolatore di population count?

Lo strumento nel browser è gratuito. Le richieste API usano il saldo prepagato KIT a $0.002 per chiamata riuscita; l’input non valido non viene fatturato.

Leggi la documentazione completa del KIT →