当我使用按位与运算符( &) 与数字 1 来确定数字 x 是奇数还是偶数时(x & 1),解释器是否会根据 x 的二进制表示形式更改 1 的二进制表示形式?例如:
&
(x & 1)
它是否会在 1 的二进制表示后追加 0 来执行按位与运算?
查看cpython 实现,看起来它是根据正确参数的大小来比较数字的。所以在这种情况下,上面的例子实际上是有效的:
python bit-manipulation cpython
bit-manipulation ×1
cpython ×1
python ×1