用while循环,将数与1用&(运算符)相与,如果结果为1,则这个位置数为1;否则为0。
再将数向右移一位,再重复上一步。
代码段:
public class Hanshu {
public static int sun(int a) {
int count=0;
while(a>0) {
if((a&1)==1)
count++;
a>>=1;
}
return count;
}
public static void main(String []args) {
System.out.println("输入一个数");
Scanner scan=new Scanner(System.in);
int a=scan.nextInt();
Hanshu s=new Hanshu ();
int c=s.sun(a);
System.out.println(a+"的二进制数中1的个数为"+c);
}
}
原文:https://www.cnblogs.com/mianyang0902/p/10639147.html