如何理解i& -i在python? python中的位操作

时间:2017-02-12 19:28:38

标签: python bit-manipulation

我发现'&'在python中意味着'和'基于位表达式的操作。最近,我找到了一个非常智能的代码,一行就像是' i& -i'其中我是一个整数。如何理解' i& -i&#39 ;.另外,python如何处理负整数' -i'用于位操作?

1 个答案:

答案 0 :(得分:0)

“i& -i” - 这清楚所有位“1”,但最后一个很重要。 例如:

i = 10(dec)= 000010 1 0(bin)

我& -i将是000000 1 0(bin)= 2(dec)

按数学术语,“i& -i”返回最大2 ^ N,即“i”的分隔符。

更多例子:

i(dec)   i(bin)     i&-i
 1            1        1
 5          101        1
 8         1000     1000
12         1100     0100