文章插图
lowbit(i)的意思是将i转化成二进制数之后,只保留最低位的1及其后面的0,截断前面的内容,然后再转成10进制数 。即lowbit(i) = i&(-i) 。参数x为有符号整型数,-x通过求补码获得比如,x=6,及二进制数0110,那么按照补码求法,-x的值为1001+1=1010接着,x&-x,结果等于0010,作为函数的返回值可见该函数的作用是:返回x的最后一个为“1”的bit位的位置 。将 x和-x 按位相与 后的返回结果,比如x=5 (二进制是00000101 -5就是11111011 按位相与后就是00000001,所以返回1如果x=4 (00000100,-4 就是11111100,结果就是00000100,返回4总的来说就是返回最低位的1的位置,所以函数名叫lowbit 。
【求助,这个lowbit函数是什么意思】
推荐阅读
- 春梦殿锦叶子掉落怎么办?家里的春梦殿锦叶子掉落的赶紧看看这个!
- ***那个石家庄为什么叫这个名字
- 幼儿园大班老师寄语内容 幼儿园大班毕业老师寄语
- 这个故事关于你歌词 这个故事关于你由谁创作
- 练胸肌最好的方法 原来这个方法最有效
- 自告奋勇是什么意思 原来它出自这个小说
- 7月份去云南旅游好吗 这个季节有什么特点
- 表里山河这个词是什么意思 表里山河这个词意思是什么
- 叶公好龙的意思与寓意 怎么理解叶公好龙这个成语
- 悍途这个牌子什么档次