首页 > 其他 > 详细

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

时间:2016-05-03 10:43:09      阅读:103      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!