思路:将该数每次与比它小1的数字相与,直到为0为止,相与的次数即是二进制形式中1的个数
代码如下:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要计算的数字:");
int n = scanner.nextInt();
int count = 0;
while (n != 0){
n = n & (n - 1);
count++;
}
System.out.println("二进制形式中1的个数为" + count);
}
}