计算一个数的二进制表示中有多少个1

文章作者 100test 发表时间 2008:03:31 11:36:15
来源 100Test.Com百考试题网


这个阶段的我好像很喜欢把玩code。拿到Code会想它是否能够工作。先使用,再Trace,然后总结归纳。这些都是从Points C中摘录的。不知道文章该该怎么分类。所以暂且归为翻译这一栏目。
现在看来还是觉得这些简短的Code很经典。

*********************************************方法一**********************************************************

/**//*
** This function returns the number of 1-bits that appeared in
** the argument value.
*/
int
count_one_bits( unsigned value )
...{
int ones.

/**//*
** While the value still has some 1-bits in it ...
*/
for( ones = 0. value != 0. value = value >> 1 )
/**//*
** If the low-order bit is a 1, count it.
*/
if( value % 2 != 0 )
ones = ones 1.

return ones.
}

******************************************方法二*******************************************

/**//*
** This function returns the number of 1-bits that appeared in
** the argument value.
*/
int
count_one_bits( unsigned value )
...{
int ones.

/**//*
** While the value still has some 1-bits in it ...
*/
for( ones = 0. value != 0. value >>= 1 )
/**//*
** If the low-order bit is a 1, count it.
*/
if( ( value &. 1 ) != 0 )
ones = 1.

return ones.
}

相关文章


货运技巧:海运提单样本
货运技巧:海洋运输货物保险险别
报检员考试模拟试题题库(二)
报检员考试模拟试题题库(一)
计算一个数的二进制表示中有多少个1
malloc()以及free()的机制研究学习
谈谈C 内存越界问题及解决方法
C 宏定义中的##和#的区别
C 和Python使用同一个枚举的方法
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛