右移的问题

学术版

移之前 `a&1`
by zhy137036 @ 2020-10-18 11:32:31


直接%2,再>>,行吗?
by ChangYiMing @ 2020-10-18 11:32:55


@[zhy137036](/user/178294) 代码能给实现一下吗?比如我想要sum右移1并且获取到那个移出的数字
by fvv3183 @ 2020-10-18 11:33:39


先右移再左移再相减? $1011>>1=101$ $101<<1=1010$ $1011-1010=1$
by TKater_yzt @ 2020-10-18 11:34:35


``` int shr(int sum){ std::cout << sum&1 << ' '; sum>>=1; return sum; } ```
by impuk @ 2020-10-18 11:34:50


@[一只爬行者](/user/279700) 请问,如果想知道sum中1的个数(二进制)是否是2,该怎样做?
by fvv3183 @ 2020-10-18 11:39:54


@[Love_Life](/user/308465) ``` bool _(int sum){ sum-=sum&-sum; sum-=sum&-sum; return sum!=0; } ```
by impuk @ 2020-10-18 11:41:55


啊 不对 是 ```__builtin_popcount(i)```
by Demoe @ 2020-10-18 11:43:22


@[Daniel_Jiang](/user/83999) 您那个跑的比较慢吧/yun
by impuk @ 2020-10-18 11:43:27


没事 能跑就行(确信)
by Demoe @ 2020-10-18 11:43:51


| 下一页