抑郁症健康,内容丰富有趣,生活中的好帮手!
抑郁症健康 > x=x|(x+1);和x=x(x-1)?

x=x|(x+1);和x=x(x-1)?

时间:2021-10-25 14:58:53

相关推荐

x=x|(x+1);和x=x&(x-1)?

例:如果x=,下面函数的返回值是()?

{

int n=0;

while((x+1))

{

n++;

x=x|(x+1);

}

return n;

}

答案:23

(1)x&(x-1)统计1的个数,x|(x+1)统计0的个数

(2)这个作用是对整型中0的个数进行统计,x=x|(x+1);的作用是每次循环把x的二进制中从右往左数的最后一位0变成1,直道变成全1的时候x+1就溢出为全0,循环结束。

的二进制是0000 0000 000 0000 0000 0111 1101 1110,所以结果是23

还有类似的题目,迭代式为x=x&(x-1),作用是统计x二进制中1的个数

如果觉得《x=x|(x+1);和x=x(x-1)?》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。