输出整数二进制表示时1的数目

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Handoking/article/details/83793841

难倒是不难,倒是学到了一个巧妙的方法,加上对位操作的不熟悉,特此记录

class Solution{
	public int NumOf1(int n){
		int count=0;
		int flag=1;
		while((n&flag)!=0){
			count++;
			flag=flag<<1;
		}
		return count;
	}
}
class Solution{
	public int NumOf1(int n){
		int count=0;
		while(n!=0){
			count++;
			n=n&(n-1);
		}
		return count;
	}
}

猜你喜欢

转载自blog.csdn.net/Handoking/article/details/83793841