我正在研究加密拼图,我需要使用独占或两个二进制数字(我operator
在Python中使用该包).如果我运行operator.xor(1001111, 1100001)
,例如我得到非常奇怪的输出2068086
.为什么不返回0101110
或至少101110
?
因为Python没有将其视为二进制数.而是使用:
operator.xor(0b1001111, 0b1100001)
计算出的答案是使用您提供的十进制值,而不是二进制外观.你真正要问的是......
1001111 ^ 1100001
当你的意思是79 ^ 97
.而是尝试使用二进制文字如此...
0b1001111 ^ 0b1100001
请参阅如何在Python中表达二进制文字?欲获得更多信息.