美文网首页
15.二进制中1的个数

15.二进制中1的个数

作者: HamletSunS | 来源:发表于2019-07-08 17:46 被阅读0次

思路:
这道题要注意一个细节,右移的话并不好判断最高位是什么(逻辑右移还是算术右移?)
因此最保险的做法是对1进行左移,然后与数字进行与运算,运算结果不为0,说明当前为是1.

class Solution {
public:
     int  NumberOf1(int n) {
         int one=1;
         int ret=0;
         while(one){
             if(n&one)
                 ret++;
             one=one<<1;
         }
         return ret;
     }
};

相关文章

网友评论

      本文标题:15.二进制中1的个数

      本文链接:https://www.haomeiwen.com/subject/mfmahctx.html