C#
 Computer >> コンピューター >  >> プログラミング >> C#

数値の合計セットビットをカウントするC#プログラム


この例の数値は11、つまり2進数-

1101

合計セットビットは1101で3です。それを見つけるには、0と等しくなくなるまでループを使用します。ここでは、数値は11、つまり10進数-

while (num>0) {
   cal += num & 1;
   num >>= 1;
}

数値の合計セットビットをカウントするには、次のコードを使用します。

using System;
public class Demo {
   public static void Main() {
      int cal = 0;
      // Binary is 1011
      int num = 11;
      while (num>0) {
         cal += num & 1;
         num >>= 1;
      }
      // 1 bits in 1101 are 3
      Console.WriteLine("Total bits: "+cal);
   }
}
出力
Total bits: 3

  1. 整数のセットビットをカウントするC/C ++プログラム?

    ここでは、整数のセットビット数を確認する方法を説明します。数値の2進表現では、設定されたビットは1です。たとえば、数値13には3つのセットビット1101があります。したがって、カウントは3になります。 この問題を解決するために、番号を右にシフトし、LSbが1の場合は、カウントを増やします。番号が0になるまで実行されます。 アルゴリズム countSetBit() begin    count := 0    while count is not 0, do       if LSb of n is set, then &

  2. Cの浮動小数点数のセットビットを数える方法は?

    この問題では、1つの浮動小数点値が与えられます。バイナリ表現で設定されたビット数を見つける必要があります。 たとえば、浮動小数点数が0.15625の場合、6つのセットビットがあります。典型的なCコンパイラは、単精度浮動小数点表現を使用していました。したがって、次のようになります。 ビット値に変換するには、数値を1つのポインター変数に取り込んでから、ポインターをchar*型データに型キャストする必要があります。次に、各バイトを1つずつ処理します。次に、各文字のセットビットをカウントできます。 例 #include <stdio.h> int char_set_bit_cou