在有关二进制的题目中,计算二进制数中有几个1往往是解决问题的基础。
1,剑指 Offer 15. 二进制中1的个数 - 力扣(LeetCode) (leetcode-cn.com)
如果一个数除二会余1,则该数的二进制形式的最后一位会是1,否则是0。如果要计算下一位,则对该数除以二即可。
int hammingWeight(uint32_t n)
{
int count=0;
while(n>0)
{
if(n%2==1)
{
count++;
}
n/=2;
}
return count;
}
2,剑指