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

数値のすべてのビットがPythonで設定されているかどうかを確認します


数nがあるとします。与えられた数nに対してすべてのビットが設定されているかどうか(1)を確認する必要があります。

したがって、入力がn =255のような場合、255のバイナリ表現は11111111であるため、出力はTrueになります。

これを解決するには、次の手順に従います-

  • 数値が0と同じ場合、
    • Falseを返す
  • 数値>0の場合、実行
    • 数値が偶数の場合、
      • Falseを返す
    • 数値:=(数値/ 2)の商
  • Trueを返す

理解を深めるために、次の実装を見てみましょう-

def solve(number):
   if number == 0:
      return False
   while number > 0:
      if (number & 1) == 0:
         return False
      number = number >> 1
   return True
n = 255
print(solve(n))

入力

255

出力

True

  1. 1からnまでのすべての数の合計セットビットをカウントするPythonプログラム。

    正の整数nが与えられると、その2進表現に変更し、設定されたビットの総数をカウントします。 例 Input : n=3 Output : 4 アルゴリズム Step 1: Input a positive integer data. Step 2: then convert it to binary form. Step 3: initialize the variable s = 0. Step 4: traverse every element and add. Step 5: display sum. サンプルコード # Python program to count set bits #

  2. 2進数にK個の連続した1があるかどうかをチェックするPythonプログラム?

    まず、1と0を組み合わせたユーザー入力文字列を取得します。次に、1を使用して新しい文字列を作成し、p個の連続する1が存在するかどうかを確認します。存在する場合はFOUNDを表示し、存在しない場合はNOTFOUNDを表示します。 例 Binary number ::1111001111 Enter consecutive 1’s :3 Consecutive 1s is Found アルゴリズム Step 1: input a string with the combination of 1’s, it’s stored in the variable X and 0’s and p is