搜索
您的当前位置:首页正文

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

来源:步旅网

二进制中1的个数

1. 问题描述
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
2. 解题思路
①:假如输入n ,如果第 x 位上是1,则肯定有(n>>x)&0x00000001 == 1;
3. c/c++源代码

class Solution {
public:
     int  NumberOf1(int n) {
         int num = 0;
         for(int i = 0;i < sizeof(int)*8;i++)
         {
             num += (n>>i)&0x01;
         }
         return num;
     }
};

作者:有梦想的阿长

微信:hs835844948

【转载文章务必保留出处和署名,谢谢!】

因篇幅问题不能全部显示,请点此查看更多更全内容

Top