位运算(i>>j&1)是什么意思?

如果不写成位运算是什么样的,等价于什么?
2024-11-29 10:03:35
推荐回答(2个)
回答1:

等价于i除以2的j次方,然后与1做与运算,也就是如果i/(2^j)得到的数装换为2进制后,如果最后一位为1,就输出1,最后一位为0就输出0。

回答2:

i的二进制中,从右往左数,取第j+1位上的值

补充:

如果写成能理解的应该是这样的

int a = i;
a = a / (int)pow(2, j);
if (a % 2 == 0)return 0;
else return 1;