计算一个数的二进制表示中有多少个1
现阶段我好像很喜欢玩代码。得到代码,想知道它是否能工作。先用,再描,再总结。以上都是c点摘录,不知道文章怎么分类。所以暂时归类为翻译。
现在我还是觉得这些短代码很经典。
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *方法1
/**//*
**此函数返回出现在
**参数值中的1位数。
*/
int
count _ one _ bits(无符号值)
...{
int one;
/**//*
**当值中仍有一些1位时...
*/
for(ones = 0;值!= 0;value = value > > 1)
/* */*
* *如果低位为1,则计数。
*/
if(值% 2!= 0)
ones = ones+1;
退货的;
}
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
/**//*
**此函数返回出现在
**参数值中的1位数。
*/
int
count _ one _ bits(无符号值)
...{
int one;
/**//*
**当值中仍有一些1位时...
*/
for(ones = 0;值!= 0;value > > = 1)
/* */*
* *如果低位为1,则计数。
*/
if( ( value & 1)!= 0)
ones+= 1;
退货的;
}
0条评论