三种方法 import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
long inputValue = sc.nextLong();
int mask = 1;
int count = 0;
for (int i = 0; i < 64; i++) {
if ((inputValue & mask) != 0) {
count++;
}
mask <<= 1;
}
System.out.println(count);
}
// 方法二:
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
long inputValue = sc.nextLong();
int res = 0;
// 注意 & 只能 Int 或者 long,double 不能用
while (inputValue != 0) {
inputValue = inputValue & (inputValue - 1);
res++;
}
System.out.println(res);
}
// 方法三:
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
long inputValue = sc.nextLong();
// 方法二:调用 API
int resNum = 0;
// 只有 long 有这个方法
String resString = Long.toBinaryString(inputValue);
for (int i = 0; i < resString.length(); i++) {
if (resString.charAt(i) == '1') {
resNum++;
}
}
System.out.println(resNum);
}
}