[剑指offer] 11. 二进制中1的个数
题目描述
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
利用位运算
class Solution { public: int NumberOf1(int n) { int a = 1; int nums = 0; while (a != 0) { if (n == (n | a)) nums++; a <<= 1; } return nums; } };
class Solution { public: int NumberOf1(int n) { int a = 1; int nums = 0; while (a != 0) { if (n == (n | a)) nums++; a <<= 1; } return nums; } };