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

统计二进制数中1的个数

时间:2014-10-15 21:01:52      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:统计1的个数 c语言 算法复杂度

方法1:

int CountNumOf1(int digital)

{

int num = 0;

while(digital)

{

if(digital % 2 == 1)

{

num ++;

}

digital /= 2;

}

return num;

}

方法2:

int CountNumOf1(int digital)

{

int num = 0;

while(digital)

{

num += (digital % 2) ? 1: 0; 

digital /= 2;

}

return num;

}

方法3:

int CountNumOf1(int digital)

{

int num = 0;

while(digital)

{

num += digital & 0x01; 

digital >>= 1;

}

return num;

}

方法4:

int CountNumOf1(int digital)

{

int num = 0;

while(digital)

{

digital &= (digital - 1); 

num++;

}

return num;

}


int main(void)

{

int n;

scanf("%d",&n);

printf("%d ",CountNumOf1(n));

return 0;

}

本文出自 “sunnyting” 博客,转载请与作者联系!

统计二进制数中1的个数

标签:统计1的个数 c语言 算法复杂度

原文地址:http://sunnyting.blog.51cto.com/8814143/1564424

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