c语言中a&(a-1)=?,这句话是什么意思,想干什么,在哪能用
答案:3 悬赏:0 手机版
解决时间 2021-01-20 15:51
- 提问者网友:箛茗
- 2021-01-20 12:52
c语言中a&(a-1)=?,这句话是什么意思,想干什么,在哪能用
最佳答案
- 五星知识达人网友:爱难随人意
- 2021-01-20 13:42
a和a-1两个值进行按位与运算。如a=10,则a&(a-1)=10&9=1010 & 1001=1000=8。追问我要知道这句话的作用,你只是带值算了一下追答怎么就叫只是算了一下?前面不是说了是“按位与”吗?至于想干什么,就是逻辑作用,你只给一句a&(a-1)谁也猜不出来!追问别人面试我就这么问的
全部回答
- 1楼网友:由着我着迷
- 2021-01-20 15:44
计算一个数的二进制中1的个数:
while(a)
{ a=a&(a-1);
count++;
}
while(a)
{ a=a&(a-1);
count++;
}
- 2楼网友:詩光轨車
- 2021-01-20 14:49
这个是删除一个bit,每次a&(a-1)的结果会比a的二进制少一个bit,用个循环操作就可以算出有a多少个bit了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯