要计算整数中的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函数中,定义了需要查找集位的值。通过将数字作为参数传递来调用该函数。相关消息显示在控制台上。