^=运算符在Python中是什么意思?
在Python中,^=运算符在Python中是什么意思?,python,python-3.x,operators,Python,Python 3.x,Operators,在Python中,^=运算符是什么意思 我在线检查,它说“对操作数执行位异或运算,并将值赋给左操作数” 我到处玩,我仍然很困惑。有人能举例说明吗?当只有奇数个条件为真时,XOR将返回真 假设出现以下情况: Condition A: False; Condition B: False => A XOR B = False Condition A: False; Condition B: True => A XOR B = True Condition A: True; Conditi
^=
运算符是什么意思
我在线检查,它说“对操作数执行位异或运算,并将值赋给左操作数”
我到处玩,我仍然很困惑。有人能举例说明吗?当只有奇数个条件为真时,XOR将返回真 假设出现以下情况:
Condition A: False; Condition B: False => A XOR B = False
Condition A: False; Condition B: True => A XOR B = True
Condition A: True; Condition B: False => A XOR B = True
Condition A: True; Condition B: True => A XOR B = False
假设我们有以下代码:
a = True
b = True
b ^= a #b XOR a
print(b) #Result = False
c = True
d = False
d ^= c #d XOR c
print(d) #Result = True
回答khelwood对这一回答的评论
您必须首先了解二进制(base-2)系统。让我们来看第6和第3个例子。这些数字在base-2中分别转换为0110和0011。当我们对数字执行异或运算时,我们将对每个位执行运算
让位按b3、b2、b1、b0的顺序排列。
在b3处,0或0将为您提供0
在b2位置,1或0将为您提供1
在b1位置,1或1将为您提供0
在b0位置,0或1将给您1
因此,base-2中的结果为0101,base-10中的结果为5
a = 6
b = 3
b ^= a
print(b) #Result = 5
很确定你的意思是d^=c是真的,d是一个不同于的布尔值c@khelwood编辑了答案以回答您的问题。@ec2604对不起,我错了
x^=y
表示x=x^y
。那就看