如何理解python中的i&-i?python中的位操作
我发现python中的“&”表示基于位表达式的“and”运算。最近,我发现了一个非常智能的代码,其中一行类似于“I&-I”,其中I是一个整数。如何理解“i&-i”的结果。此外,python如何处理位操作的负整数“-i” i&-i-清除所有位1,但最后一个有效位。 例如: i=10dec=000010bin i&-i将是00000010bin=2dec 根据数学术语,i&-i返回最大2^N,即i的除数 更多示例:如何理解python中的i&-i?python中的位操作,python,bit-manipulation,Python,Bit Manipulation,我发现python中的“&”表示基于位表达式的“and”运算。最近,我发现了一个非常智能的代码,其中一行类似于“I&-I”,其中I是一个整数。如何理解“i&-i”的结果。此外,python如何处理位操作的负整数“-i” i&-i-清除所有位1,但最后一个有效位。 例如: i=10dec=000010bin i&-i将是00000010bin=2dec 根据数学术语,i&-i返回最大2^N,即i的除数 更多示例: i(dec) i(bin) i&-i 1
i(dec) i(bin) i&-i
1 1 1
5 101 1
8 1000 1000
12 1100 0100
负数有无穷多的前导数,就像正数有无穷多的前导零一样。是的,位操作非常重要,因为这就是CPU处理数学的方式,以及。本质上是的副本,除了Python整数不是固定宽度的一点警告之外。@user2357112我在那里给出的证明也适用于左无限位字符串,因此它证明了Python类型整数的well@user2357112你知道你是天才吗?