#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int count_one_bits(unsigned int value)//取出一个数的二进制形式含多少个1
{
int i=0;
int count = 0;
for (i=value; i; i /= 2)
{
count += i % 2;
}
return count;
}
int main()
{
printf("%d\n", count_one_bits(150000));
system("pause");
return 0;
}
花式写法
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int count_one_bits(unsigned int value)
{
int count = 0;
do{
count++;
} while (value &= value - 1);//每做一次运算可以取出一个1
return count;
}
int main()
{
printf("%d\n", count_one_bits(150000));
system("pause");
return 0;
}
【C语】取一个数的二进制形式含多少位1
最新推荐文章于 2021-05-23 09:07:22 发布