欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【面试题】整数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