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

二进制数中1的个数

时间:2015-04-13 18:21:06      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:

二进制数中1的个数

 1 //不断地除2
 2 int count1(int val)
 3 {
 4     int num = 0;
 5     while(val)
 6     {
 7         if(val % 2 == 1)
 8             num++;
 9         val /= 2;
10     }
11     return num;
12 }
13 
14 //位操作,移位次数为31次
15 int count2(int val)
16 {
17     int num = 0;
18     while(val)
19     {
20         num += val & 0x01;
21         val >>= 1;
22     }
23     return num;
24 }
25 //位操作,二进制代码中有多少个1就移位多少次
26 int count3(int val)
27 {
28     int num = 0;
29     while(val)
30     {
31         val &= (val - 1);
32         num++;
33     }
34     return num;
35 }

 

二进制数中1的个数

标签:

原文地址:http://www.cnblogs.com/cpsmile/p/4422470.html

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