如何快速判断一个整数中有多少个二进制1 思路:首先我们把这个数减去1,然后和这个数做与运算,这样可以把这个数的最右边一个1变为0; 对应leetcode 461题 《汉明距离》 例如:0101 -->0100 0101&0100=0100;然后重复此操作 (2)0100 ----->0011 0100&0011=0000;结束; #include<iostream> using namespace std; int main() { cin>>n; int ans=0; while(n) { n=n&(n-1); ans++; } return ans; }