【面试题】整数N的二进制中1的个数
程序员文章站
2024-03-15 15:49:24
...
题目:求整数N的二进制中1的个数
1.循环除以2,然后对每次的余数进行判断;
2.利用位运算,效率更高;
将n的每个位和1按位与,以此来判断该位是否为1
public class NumberOfOne {
public static void main(String[] args) {
System.out.println(numberOfOne(0));
System.out.println(numberOfOne(10));
System.out.println(numberOfOne(15));
System.out.println(numberOfOne(79));
}
public static int numberOfOne(int n ){
int count = 0;
while(n!=0){
if((n&1)==1)
count++;
n=n>>1;
}
return count;
}
}
输出:
0
2
4
5
上一篇: 写一个函数返回参数二进制中 1 的个数