Java程序整数的位运算

要计算整数中的set位,Java代码如下-

示例

import java.io.*;
public class Demo{
   static int set_bits_count(int num){
      int count = 0;
      while (num > 0){
         num &= (num - 1);
         count++;
      }
      return count;
   }
   public static void main(String args[]){
      int num =11;
      System.out.println("11中的set位数为 ");
      System.out.println(set_bits_count(num));
   }
}

输出结果

11中的set位数为
3

以上是Brian Kernighan算法的一个实现。一个名为Demo的类包含一个名为set_bits_count的静态函数。此函数检查数字是否为0,如果不是,则将一个名为count的变量赋值为0。它对数字和减1的数字执行逻辑与(&)操作。

接下来,计数值在此操作之后递减。最后,返回计数值。在main函数中,定义了需要查找集位的值。通过将数字作为参数传递来调用该函数。相关消息显示在控制台上。