编程题:统计二进制中1的个数
16lz
2021-04-05
题目名称:统计二级制中1的个数
内容:写一个函数返回参数二进制中1的个数
列如:十进制:15 二进制: 00001111 中1的各位为4
第一种方法
int count_one(unsigned int a) { int count = 0; while (a) { if (a % 2 == 1) { count++; } a = a / 2; } return count;}int main() { int a = 0; scanf("%d", &a); int count=count_one(a); printf("count=%d", count); return 0;}
第二种方法
int count_one(int a) { int count = 0; while (a) { a = a & a - 1; count++; } return count;}int main() { int a = 0; scanf("%d", &a); int count=count_one(a); printf("count=%d", count); return 0;
}
©著作权归作者所有:来自51CTO博客作者ンめ的原创作品,如需转载,请注明出处,否则将追究法律责任更多相关文章
- 一个数据开发人员使用的辅助工具
- 4-2(vector)
- 做运维都干什么?
- Spark分区器HashPartitioner和RangePartitioner代码详解
- 如何开始一个数据科学项目?
- gstvideo_has_codec: none can handle 'video/x-h264
- gstvideo_has_codec: none can handle 'video/x-h264
- gstvideo_has_codec: none can handle 'video/x-h264
- 从事运维工作是一种怎样的体检?