描述
输入一个正整数,计算它在二进制下的1的个数。
注意多组输入输出!!!!!!
输入描述:
输入一个整数
输出描述:
计算整数二进制中1的个数
示例1
输入:
5
输出:
2
说明:
5的二进制表示是101,有2个1
题目链接如上,看完本篇题解可以点开巩固一下~~
解决二进制中1的个数这类题及其延伸题都用此做法即可。
Java解决问题代码如下:
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while(in.hasNextInt()) {
int check = in.nextInt();
int ans = countOne(check);
System.out.println(ans);
}
}
public static int countOne(int check) {
int count = 0;
while(check != 0) {//直到需要检查的数为1则停止,表明当前二进制中已经没有任何1
if((check & 1) == 1) {//当前数字与1与操作,若是1,表明最低位为1,计数器记录
count++;
}
check >>= 1;//右移一位,继续依次判别当前最低位的值
}
return count;
}
}