关于C语言的,这是求二进制中1的个数的函数,哪位高手说一下每一句的含义!
intBitCount(unsignedintn){unsignedintc=0;while(n>0){if((n&1)==1)++c;n>>=1;}returnc;}...
int BitCount(unsigned int n)
{
unsigned int c = 0 ;
while (n > 0)
{
if((n & 1) == 1)
++c ;
n >>= 1 ;
}
return c ;
} 展开
{
unsigned int c = 0 ;
while (n > 0)
{
if((n & 1) == 1)
++c ;
n >>= 1 ;
}
return c ;
} 展开
3个回答
展开全部
没看到代码 现写一个
int a,count=0;
<!-- 给a赋一个值, 过程略过-->
while (a) //当a不等于0时进行循环
{
if (a&1) //如果a&1的结果不是0 即a的二进制最后一位是1
count++; //计数器+1
a>>=1; //a的二进制整体向右移一位 之前的倒数第二位变成最后一位
}
printf("the number of /'1/' in binary is %d\n",count);
return 0;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int BitCount(unsigned int n)
{
unsigned int c = 0 ;
while (n > 0)
{
if((n & 1) == 1)//判断最后一位是不是1
++c ;//如果是加一
n >>= 1 ; //右移一位直到n=0
}
return c ;
}
{
unsigned int c = 0 ;
while (n > 0)
{
if((n & 1) == 1)//判断最后一位是不是1
++c ;//如果是加一
n >>= 1 ; //右移一位直到n=0
}
return c ;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询