📜  Java程序计算整数中的设置位(1)

📅  最后修改于: 2023-12-03 14:43:04.496000             🧑  作者: Mango

Java程序计算整数中的设置位

在计算机中,每一个整数都可以用二进制来表示。在二进制中,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程序,用来计算整数中设置的二进制位数。