python 中负数的与运算为什么不对?-1&2 = 2

2015-06-03 18:32:03 +08:00
 latteczy
版本Python 2.7。
(-1)&2,(-1)&(2)都试过了,结果都是2,不知为何?
3577 次点击
所在节点    Python
5 条回复
ayang23
2015-06-03 18:38:28 +08:00
没看出哪不对,-1所有的位都是1,和任何数字与运算结果都是那个数字
lilydjwg
2015-06-03 18:40:00 +08:00
我没看出来哪里不对了……你觉得它的结果是多少才对呢?
latteczy
2015-06-03 18:44:44 +08:00
@ayang23
@lilydjwg
不好意思各位,脑子进水了。负数的二进制需要取反再加1。
艾玛,丢人丢大了。
weyou
2015-06-03 18:48:37 +08:00
因为结果本来就是2
mhohai
2015-06-11 14:26:08 +08:00
很2很2

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/195880

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX