C++里的if(a >> i & 1)是什么意思。。大佬求教

2024-11-09 06:03:35
推荐回答(1个)
回答1:

a >> i 移位运算,比如二进制的10,右移一位得到1
你可以理解为除以2,除了i次。
&,按位与运算,目的是判断移位以后最低位是1还是0
例如十进制的3,二进制是11,11&1 = 1
3 >> 1 = 3/2 = 1, 1&1 还是=1
1>>1 = 0 0&1 就是0了,if就不满足了。