📅  最后修改于: 2023-12-03 14:43:04.496000             🧑  作者: Mango
在计算机中,每一个整数都可以用二进制来表示。在二进制中,1代表这个位被设置了,0代表这个位没有被设置。计算整数中的设置位就是要统计这个整数的二进制表示中,有多少个二进制位被设置了。
实现这个功能的Java程序如下:
public class CountSetBits {
public static int countSetBits(int n) {
int count = 0;
while (n != 0) {
count += n & 1;
n >>= 1;
}
return count;
}
public static void main(String[] args) {
int n = 12345;
System.out.println("整数 " + n + " 中设置了 " + countSetBits(n) + " 个位。");
}
}
这个程序中,我们定义了一个静态方法countSetBits
,它接收一个整数参数n
,并返回整数中设置的二进制位数。在实现函数体时,我们用了一个循环,每次将n
和1做与运算,并将结果累加到count
变量中。同时,我们将n
右移1位,以便对下一个二进制位进行统计。当n
变为0时,循环结束,我们将结果作为函数的返回值。
在main方法中,我们定义了一个整数n=12345
,将n
作为参数传递给countSetBits
方法,并将函数的返回值打印出来。
以上就是一个简单的Java程序,用来计算整数中设置的二进制位数。