写一个函数返回参数二进制中 1 的个数
程序员文章站
2022-07-15 10:02:42
...
要求:写一个函数返回参数二进制中 1 的个数 比如: 15 0000 1111 4 个 1
程序原型:
int count_one_bits(unsigned int value)
{
// 返回 1的位数
}
思路:看到这样的题目,你首先 想到的是什么?小奋我(以后称自己为小奋,不喜勿喷哦 笑cry),我首先想到的当然是把它化为二进制的,那么如何把一个数改成二进制的形式呢?我们知道那就是不断的%2,如果你看到了我的博客,有疑问为什么最后要返回一个count+1,小奋我也是经历了程序的bug之后,才知道呢,不妨一试哦
//int count_one_bits(unsigned int value)
//{
// int count = 0;
// //int temp;
// while (value )
// {
// value = value /2;
//
// if (value % 2 == 1)
// {
// count++;
// }
// }
// return count+1;
//}
//int main()
//{
// int num;
// int ret;
// printf("请输入一个数字:");
// scanf("%d", &num);
// ret = count_one_bits(num);
// printf("%d", ret);
// system("pause");
// return 0;
//}
//
上一篇: C语言笔记----指针(一)
下一篇: 写一个函数返回参数二进制中1的个数