c primer plus 第十五章课后编程3题

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

}

发布了85 篇原创文章 · 获赞 1 · 访问量 1889

猜你喜欢

转载自blog.csdn.net/Tekkenwxp/article/details/103131159