#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int count_one_bits(unsigned int tmp)
{
int i = 0;
while (tmp != 0)
{
// tmp & 000000001 如果tmp最低位为1,那么相与结果为1,不为0
if ( (tmp & 1) != 0 )
{
i++; //数字累加
}
tmp >>= 1; //往右移动一位,右边丢弃1位,左边补0, 直到全部为变为0,退出循环
}
return i;
}
int main(void)
{
printf("n = %d\n", count_one_bits(2222));
printf("\n");
system("pause");
return 0;
}
位运算的简单应用,计算无符号的数中二进制位中值为 1 的个数
最新推荐文章于 2022-03-22 08:46:54 发布