fengshituo 发表于 2008-4-19 18:06
一道笔试题
int func(x)
{
int countx = 0;
while(x)
{
countx ++;
x = x&(x-1);
}
return countx;
}
求x=9999时输出结果,请详细解答下,谢谢
中学者 发表于 2008-4-19 18:26
偶才疏学浅, 答案是1
yijing21 发表于 2008-4-19 20:41
中间的是位与。。。这是不是跟整形在内存中分配有关。。功力不够。。
jiefen111 发表于 2008-4-19 21:27
这是求9999中用二进制表示时有多少位是1
sunkaidong 发表于 2008-4-19 21:35
同意楼上的观点
jiefen111 发表于 2008-4-19 21:37
9999用二进制表示是1001 1100 0001 111所以答案是8
jiefen111 发表于 2008-4-19 21:47
楼上的那位,看了你好多回帖,觉得你好强悍,帮忙看一下程序吧,我一直被内存泄露困扰着
页:
[1]