牛客题霸 [二进制中1的个数] C++题解/答案 题目描述 输入一个整数,输出该数32位二进制表示中1的个数。其中负数用补码表示。 题解: 判断1的个数 x&(-x)=2^k 有点类似于树状数组中lowbit的操作 代码: class Solution { public:int NumberOf1(int n) {int res=0;while(n){n=n&(n-1);res++;}return res;} };