#include <stdio.h>
int open_bit(int n);
int main(void)
{
int number=7;
int i=open_bit(number);
printf("%d的打开位有%d个。\n",number,i);
return 0;
}
int open_bit(int n)
{
int i,j,k=0;
j=8*sizeof(int); //j的大小是int 类型的位数大小也就是32
for(i=0;i<j;i++,n>>=1)//把值的二进制位数右移1位,查看是否打开。
{
if(1==(n & 1))
k+=1;
}
return k;
}
本文展示了一个使用C语言编写的程序,该程序通过位运算来计算一个整数中二进制位上1的数量。这个过程涉及到将整数值转换为二进制表示,并通过位移和按位与操作来逐位检查每一位是否为1。
1333

被折叠的 条评论
为什么被折叠?



