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

Pythonリスト内包表記を使用してセットビットをカウントする


セットビットは、数値の2進形式で1を表すビットです。この記事では、特定の10進数のセットビット数をカウントする方法を説明します。

#53 in binary is: 110101
The number of set bits is the number of ones.
Here it is 4.

以下のプログラムでは、数値を取得してバイナリに変換します。バイナリ変換には最初の2文字として0bが含まれているため、文字列分割手法を使用して削除します。次に、forループを使用して、桁の値が1の場合、2進数の各ビットをカウントします。

value = 59
#Check the binary value
print(bin(value))
#Remove the first two characters
bitvalue = bin(value)[2:]
print(bitvalue)
count = 0
for digit in bitvalue:
   if digit == '1':
      count = count+1
print("Length of set bits: ",count)

出力

上記のコードを実行すると、次の結果が得られます-

0b111011
111011
Length of set bits: 5

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

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

  2. 数値の合計ビットをカウントするPythonプログラムを作成しますか?

    最初に数値を入力し、bin()関数を使用してこの数値をバイナリに変換し、次に出力文字列の最初の2文字「0b」を削除し、次にバイナリ文字列の長さを計算します。 例 Input:200 Output:8 説明 Binary representation of 200 is 10010000 アルゴリズム Step 1: input number. Step 2: convert number into its binary using bin() function. Step 3: remove first two characters ‘0b’ of output binary st