t func(x)
{
int countx = 0;
while (x)
{
countx ++;
x = x&(x -1);
}
return countx;
}假设x = 9999, 请问返回值为多少?
==================================================
答案:8
解答:将x转化为2进制,利用按位与的方式,依次推算。
1 9998
2 9990
3 9980
4 9900
5 9800
6 9000
7 8000
8 0000
7 = 0111
8 = 1000
9 = 1001
本文深入探讨了函数tfunc如何通过位操作和循环计数来实现特定功能,并以x=9999为例,演示了其实际应用。通过将9999转化为二进制并利用按位与方式逐步减小,最终得到循环计数为8。

被折叠的 条评论
为什么被折叠?



