剑指offer : 二进制中1的个数

题目描述:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。

方法:就是简单的按位与,非零则count++

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

猜你喜欢

转载自blog.csdn.net/Shile975/article/details/88819737