在一行上输入一个整数
,表示待统计的数值。
在一行上输出一个整数,表示
的二进制表示中
的数量。
3
2
的二进制表示为
,其中包含两个
。
65
2
的二进制表示为
,其中包含两个
。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
long x = scanner.nextLong();
// 使用Long类的bitCount方法计算二进制中1的数量
int count = Long.bitCount(x);
System.out.println(count);
}
} //把一个整数减去1,再和原整数做与运算,会把该整数最右边一个1变成0.那么一个整数的二进制有多少个1,就可以进行多少次这样的操作。
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sca = new Scanner(System.in);
long n = sca.nextLong();
int count = 0;
while(n!=0) {
count++;
n = n & (n-1);
}
System.out.println(count);
}
} import java.util.*;
public class Main {
public static void main(String[] argus)
{
Scanner scanner=new Scanner(System.in);
while(scanner.hasNextLong())
{
long number=scanner.nextLong();
System.out.println(NumberOf1(number));
}
}
public static int NumberOf1(long n) {
int time=0;
while (true) {
if(n==0) break;
time++;
n = (n - 1) & n;
}
return time;
}
} import java.util.Scanner;
/**
* @Author: Lee
* @Date: 2019/8/8 23:42
* @Description:
*/
public class Main {
public static void main(String[] args) {
new Main().process();
}
public void process() {
Scanner input = new Scanner(System.in);
long source = input.nextLong();
ten2TwoProcess(source);
}
public void ten2TwoProcess(long source) {
int num = 0;
String string = Long.toBinaryString(source);
char[] chars = string.toCharArray();
for (int i = 0; i < chars.length; i++) {
if (chars[i] == '1') {
num++;
}
}
System.out.println(num);
}
}