Das Zählen gesetzter Bits bedeutet das Zählen von Einsen für eine bestimmte ganze Zahl. Hierfür haben wir mehrere Lösungen, die angewendet werden können. In diesem Fall haben wir eine Binärzahl (binäre Darstellung einer ganzen Zahl), für die wir die Anzahl der Einsen in der Zeichenfolge zählen müssen.
Um die Anzahl der Einsen zu zählen, erhalten wir die Zeichenfolge, durchlaufen jedes Element und zählen die Anzahl aller Einsen in der Zeichenfolge. Wenn wir beispielsweise 17 eingeben, ist die Ausgabe 2, da die binäre Darstellung von 17 10001 ist, was zwei Einsen enthält.
Input: Enter a positive integer: 6 Output: 2
Die binäre Darstellung von 6 ist 110 mit 2 gesetzten Bits
Diese Iterationsmethode erfordert eine Iteration für jedes Bit. Es durchläuft alle Ziffern der Zahl. Die Iteration endet, wenn keine weiteren Bits gesetzt sind. Im schlimmsten Fall erfolgt eine Schleife für 32 Iterationen für ein 32-Bit-Wort, wobei nur das höchstwertige Bit gesetzt ist. Diese Lösung ist die einfachste Lösung und nützlich, wenn die Einsen spärlich vorhanden sind und sich in den niedrigstwertigen Bits befinden.
#include <stdio.h> int main(void) { unsigned int n = 34; for (c = 0; n; n >>= 1) { c += n & 1; } printf("%d\n", c); }
Das obige ist der detaillierte Inhalt vonC/C++-Programm: Die Anzahl der in einer Ganzzahl festgelegten Ziffern zählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!