#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;
}