C/C++ プログラム: 整数に設定された桁数を数えますか?

王林
リリース: 2023-08-26 18:57:12
転載
1248 人が閲覧しました

C/C++ プログラム: 整数に設定された桁数を数えますか?

セットビットを数えるということは、指定された整数の 1 を数えるということです。このために、適用できるさまざまなソリューションをご用意しています。この場合、2 進数 (整数の 2 進表現) があり、文字列内の 1 の数をカウントする必要があります。

1 の数を数えるには、文字列を取得し、各要素を反復処理して、文字列内のすべての 1 の数を数えます。たとえば、17 を入力すると、17 のバイナリ表現は 10001 であり、1 が 2 つ含まれるため、出力は 2 になります。

Input: Enter a positive integer: 6
Output: 2
ログイン後にコピー

説明

6 のバイナリ表現は 110 で、これには 2 つのビットが設定されています。

この反復方法では、ビットごとに 1 回の反復が必要です。数字のすべての桁に実行されます。ビットが設定されなくなると反復は終了します。最悪の場合、最上位ビットのみが設定された 32 ビット ワードに対して 32 回ループします。この解決策は最も単純な解決策であり、1 がまばらで最下位ビットにある場合に役立ちます。

#include <stdio.h>
int main(void) {
   unsigned int n = 34;
   for (c = 0; n; n >>= 1) {
      c += n & 1;
   }
   printf("%d\n", c);
}
ログイン後にコピー

以上がC/C++ プログラム: 整数に設定された桁数を数えますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート