什么时候使用按位与运算符(&)? [重复]

问题描述 投票:0回答:1

我理解按位与运算符(

&
)相当于两个位值的乘积。我什么时候用它?

我也很想了解

num&1
在下面的代码中做了什么:

def func(num):
    n = 1 + func((3*num+1) if num&1 else (num>>1))
    return n
python bit-manipulation bitwise-operators collatz
1个回答
1
投票

正如评论中提到的,

num&1
num
1
之间的按位与。

由于二进制中的 1 是 ...000000001,当且仅当

num
的最低有效位是
1
,换句话说,如果它是奇数(这里对二进制的一些解释)

,AND 将得到 True
© www.soinside.com 2019 - 2024. All rights reserved.