我发现Python中的“&”表示基于位表达式的“与”运算。最近,我发现了一个非常聪明的代码,其中一行类似于“i & -i”,其中 i 是一个整数。如何理解“i & -i”的结果。另外,python如何处理负整数'-i'进行位操作?
“i & -i” - 清除所有位“1”,但最后一个有效位。
例如:
我 = 10(十进制) = 00001010(bin)
i & -i 将是 00000010(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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)