ForHosting KIT · Entwickler-Tools

Popcount-Rechner

Zählen Sie, wie viele Einsen eine Zahl im Binärsystem hat: 42 mit 8 Bit geschrieben ist 00101010, mit 3 Einsen an den Positionen 1, 3 und 5 sowie 5 Nullen. Praktisch für Flags, Bitmasken und Übungen zum Hamming-Gewicht. Kostenlos in Ihrem Browser.

  • Kostenlos
  • Läuft in Ihrem Browser
  • Ohne Anmeldung
  • Ihre Daten bleiben auf Ihrem Gerät
Nutzen Sie es über WebAPIE-MailTelegramApp bald
Wenn Sie eingeben
Wert
42
Bits
8
Erhalten Sie
Binär
00101010
Anzahl gesetzter Bits
3
Nullbits
5
Indizes gesetzter Bits
1, 3, 5

Der Population Count, oft Popcount abgekürzt oder Hamming-Gewicht genannt, ist die Anzahl der Eins-Bits in der Binärdarstellung einer Ganzzahl. Entwickler nutzen ihn beim Dimensionieren von Bitsets, beim Bewerten paritätsähnlicher Merkmale ohne vollständige Prüfsumme, beim Schätzen der Kardinalität bloom-filterartiger Masken und beim Abgleichen von Compiler-Intrinsics wie __builtin_popcount mit einer Referenz. Dieser Population-Count-Rechner akzeptiert eine nichtnegative Ganzzahl und optional eine feste Bitbreite; er liefert das mit Nullen aufgefüllte Binärmuster, die Summe gesetzter Bits, wie viele Nullen diese Breite füllen, und die Indizes jeder Eins vom niederwertigsten Bit aus.

Was Population Count bedeutet und warum Entwickler ihn brauchen

In der Rechnerarithmetik ist der Population Count einer nichtnegativen Ganzzahl schlicht, wie viele ihrer Binärziffern Eins sind. Dieselbe Größe trägt mehrere Namen: Hamming-Gewicht der Bitfolge, seitliche Summe oder Ergebnis von Hardware-Befehlen wie POPCNT auf x86 und CNT auf ARM. Gesetzte Bits zu zählen ist nicht dasselbe wie Basen umzurechnen oder nur die Parität zu berechnen: die Umrechnung zeigt das Muster, die Parität verdichtet es zu gerade oder ungerade, und Popcount meldet die volle Kardinalität der Eins-Bits.

Diese Kardinalität zählt, wenn ein Flags-Feld unabhängige Boolesche Werte packt, wenn eine spärliche Maske ausgewählte Spalten in einem Row-Store darstellt, wenn eine Grafikpipeline die Zahl aktiver Samples braucht, und wenn Interviewaufgaben die Hamming-Distanz zweier Wörter verlangen — das ist genau der Population Count ihres bitweisen XOR.

Wo das Zählen gesetzter Bits wirklich hilft

Compiler- und Sprachruntime-Teams verankern __builtin_popcount, Integer.bitCount und ähnliche Intrinsics gegen eine reine Referenz, wenn sie Cross-Compilation und WASM-Shims validieren. Datenbank- und Suchingenieure nutzen Population Count auf Posting-Listen-Bitmaps und roaring-artigen Chunks, um die Selektivität zu schätzen, bevor Postings materialisiert werden. Sicherheits- und Protokollcode zählt Bits in Capability-Masken und Berechtigungs-Bitfeldern, wenn protokolliert wird, wie viele Privilegien ein Token tatsächlich hält.

Unterrichtsplattformen und Coding-Interview-Sandboxes brauchen einen deterministischen Popcount, der das aufgefüllte Muster neben der Summe zeigt, damit Lernende sehen, welche Positionen beitragen. Fehlgeschlagene Validierung wird nicht abgerechnet.

Orakel für Intrinsics und Unit-Tests

Vergleichen Sie Hardware-POPCNT oder Sprach-bitCount-Helfer mit reinem aufgefülltem Binary und Popcount für feste Breiten in der CI.

Kardinalität von Bitsets und Flags

Schätzen Sie, wie viele Flags oder Bitmap-Spalten in einer Maske gesetzt sind, bevor Sie die volle Feature-Liste expandieren.

Hamming-Gewicht unterrichten

Zeigen Sie Lernenden das nullaufgefüllte Muster und die LSB-zuerst-Indizes neben der Einsensumme für Interviews und Hausaufgaben.

Was ist Population Count (Popcount)?

Population Count ist die Anzahl der 1-Bits in der Binärform einer Ganzzahl — auch Hamming-Gewicht genannt.

Akzeptiert der Rechner negative Zahlen?

Nein. Value muss eine nichtnegative Ganzzahl sein. Zweierkomplement-Deutungen von Negativen liegen außerhalb des Umfangs; nutzen Sie ein dediziertes Zweierkomplement-Werkzeug, wenn Sie vorzeichenbehaftete Breiten brauchen.

Was steuert der Parameter bits?

Bits legt die vorzeichenlose Breite für Null-Auffüllung von binary und für Bereichsprüfungen fest (1–53). Fehlt er, ist die Breite die natürliche Bitlänge von value (1 für null).

Wie erhalte ich den Hamming-Abstand zweier Zahlen?

Verknüpfen Sie beide Zahlen bitweise mit exklusivem Oder und zählen Sie hier die Einsen im Ergebnis. Jede Eins markiert eine Stelle, an der sich die Zahlen unterscheiden, diese Anzahl ist also ihr Hamming-Abstand.

Wie werden die Positionen der Einsen nummeriert?

Von rechts, beginnend mit 0 beim niederwertigsten Bit. Deshalb hat 42, mit 8 Bit als 00101010 geschrieben, seine Einsen an den Positionen 1, 3 und 5.

Welche Zahl ist höchstens erlaubt?

Ganze Zahlen von null bis 9007199254740991, also bis zu 53 Bit. In diesem Bereich bleibt jedes Ergebnis exakt; größere oder negative Werte und Kommazahlen werden abgelehnt.

Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.

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

Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.

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

Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.

pro Anfrage$0.002

Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.

HTTPCodeBedeutung
401unauthorizedDer API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer).
402insufficient_balanceIhr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht.
404unknown_typeUnbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog.
429rate_limitedZu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt.

Negative und nicht ganzzahlige Eingaben scheitern mit invalid_input, statt eine Zweierkomplement-Deutung zu erfinden, die Sie nicht angefordert haben.

Was Population Count bedeutet und warum Entwickler ihn brauchen

Null hat Population Count null und ein Ein-Bit-Muster aus Null, wenn keine Breite erzwungen wird; die größte sichere JavaScript-Ganzzahl passt noch in dreiundfünfzig Signifikandenbits — die Obergrenze, die dieser Rechner akzeptiert, damit jedes Ergebnis eine exakte JSON-Zahl bleibt.

Eingabevertrag, Auffüllbreite und Antwortfelder

Optional senden Sie bits, eine Ganzzahl von eins bis dreiundfünfzig, um die vorzeichenlose Wortbreite für Null-Auffüllung und Bereichsprüfung festzulegen. Senden Sie per POST ein JSON-Objekt mit value, einer Pflicht-Ganzzahl ohne Vorzeichen (JSON-Zahl oder Ziffernzeichenkette) von null bis Number.MAX_SAFE_INTEGER. Ist bits gesetzt, muss value null kleiner oder gleich value und value kleiner als zwei hoch bits erfüllen (bei großen Breiten durch die Safe-Integer-Grenze gedeckelt). Fehlt bits, ist die Breite die natürliche Bitlänge von value — Abrundung des Zweierlogarithmus plus eins — oder eins, wenn value null ist, damit das Feld binary nie eine leere Zeichenkette ist. Bei Erfolg spiegelt der Körper value und bits; binary ist das mit Nullen aufgefüllte Bitmuster mit dem höchstwertigen Bit links; popcount ist das Hamming-Gewicht; zero_bits ist bits minus popcount; set_bit_indices listet jede Position mit einer Eins, wobei das niederwertigste Bit Index null ist; und method ist die Konstante population_count für Clients, die nach Werkzeugidentität verzweigen. Beispiel: value zweiundvierzig mit bits acht ergibt binary null-null-eins-null-eins-null-eins-null, popcount drei, zero_bits fünf und Indizes eins, drei und fünf. Fehlendes value, Negative, Brüche, nichtnumerische Zeichenketten, bits außerhalb von eins bis dreiundfünfzig oder ein value, der die gewählte Breite überläuft, scheitern mit invalid_input und werden nicht abgerechnet. Leere Objekte und Arrays werden mit einer kurzen Vertragsmeldung abgelehnt, damit SDK-Fehler sofort sichtbar werden.

Wo eine Popcount-API in echten Abläufen ihren Wert hat

Weil die Implementierung reines Parse der Stufe A ist, kostet jeder erfolgreiche Aufruf den veröffentlichten Basispreis $0.002, ohne Modell-Tokens und ohne ausgehendes Netz.

Wie sind set_bit_indices geordnet?

Indizes nutzen das niederwertigste Bit als Position 0 und listen jedes 1-Bit von niedrig nach hoch. Beispiel: value 5 (binär 101) ergibt die Indizes [0, 2].

Was kostet der Population-Count-Rechner?

Das Browser-Werkzeug ist kostenlos. API-Anfragen nutzen vorausgeglichenes KIT-Guthaben zu $0.002 pro erfolgreichem Aufruf; ungültige Eingaben werden nicht abgerechnet.

Vollständige KIT-Dokumentation lesen →