插入符号(^)运算符的作用是什么?

2022-03-01 00:00:00 python operators caret

问题描述

我今天在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(异或)。

如果且仅当其参数不同(一个参数为True,另一个参数为False)时,它的计算结果为True

演示:

>>> 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)

相关文章