码迷,mamicode.com
首页 > 其他好文 > 详细

统计数n转换为二进制后包含1的个数

时间:2016-05-03 10:46:15      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:

思路:

判断最低位是否为1,然后右移一位,这样次低位就位于最低位的位置,然后继续判断最低位

1 int numberOf1(unsigned int n){
2     int cnt = 0;
3     while(n){
4         if(n & 1)
5             cnt++;
6         n >>= 1;
7     }
8     return cnt;
9 }
1 int numberOf1(unsigned int n){
2     int cnt = 0;
3     while(n > 0){
4         n &= n - 1;
5         cnt++;
6     }
7     return cnt;
8 }

 

统计数n转换为二进制后包含1的个数

标签:

原文地址:http://www.cnblogs.com/zuopeng0943/p/5454054.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!