2024-05-17 08:09:34 发布
网友
今天我在python中遇到了插入符号运算符,并尝试了一下,得到了以下输出:
>>> 8^3 11 >>> 8^4 12 >>> 8^1 9 >>> 8^0 8 >>> 7^1 6 >>> 7^2 5 >>> 7^7 0 >>> 7^8 15 >>> 9^1 8 >>> 16^1 17 >>> 15^1 14 >>>
它似乎是基于8,所以我猜是某种字节操作?我似乎找不到更多关于这个搜索网站,除了它的行为奇怪的浮动,有没有人链接到这个运营商做什么或你能在这里解释吗?
它根据需要调用对象的__xor__()或__rxor__()方法,对于整数类型,该方法执行逐位异或。
__xor__()
__rxor__()
它是按位的XOR(exclusive OR)。
如果操作数中有一个(且只有一个)为真,则结果为真。
证明:
>>> 0^0 0 >>> 1^1 0 >>> 1^0 1 >>> 0^1 1
解释你自己的一个例子:
>>> 8^3 11
这样想:
1000 # 8 (binary) 0011 # 3 (binary) ---- # APPLY XOR ('vertically') 1011 # result = 11 (binary)
这是一点一点排他性或。二进制位运算符记录在chapter 5 of the Python Language Reference中。
它根据需要调用对象的
__xor__()
或__rxor__()
方法,对于整数类型,该方法执行逐位异或。它是按位的XOR(exclusive OR)。
如果操作数中有一个(且只有一个)为真,则结果为真。
证明:
解释你自己的一个例子:
这样想:
这是一点一点排他性或。二进制位运算符记录在chapter 5 of the Python Language Reference中。
相关问题 更多 >
编程相关推荐