位运算————位1的个数

 1 //移位,通过和1进行与操作
 2 class Solution {
 3 public:
 4     int hammingWeight(uint32_t n) {
 5         int res=0;
 6         while(n)//while n==0,quit while
 7         {
 8             res+=n&1;
 9             n>>=1;
10         }
11         return res;
12     }
13 };
14 //也可以通过bitset库来计算,好好研究一下bitset库的运用
15 bitset<32> res(n);
16 int countt = res.count()
17 return countt;

 

posted @ 2019-07-01 10:14  Austin_anheqiao  阅读(301)  评论(0编辑  收藏  举报