对于单比特数据X,Y
当X=0 时有
if Y=0 X^Y^X=0^0^0=0=Y
if Y=1 X^Y^X=0^1^0=1=Y
当X=1 时有
if Y=0 X^Y^X=1^0^1=0=Y
if Y=1 X^Y^X=1^1^1=1=Y
于是有 X^Y^X=Y
a,b是同位宽整数,对a,b对应位置做异或操作
a=a^b
b=b^a=b^(a^b)=a
a=a^b=(a^b)^a=b
实现a,b之间的交换。
End.
对于单比特数据X,Y
当X=0 时有
if Y=0 X^Y^X=0^0^0=0=Y
if Y=1 X^Y^X=0^1^0=1=Y
当X=1 时有
if Y=0 X^Y^X=1^0^1=0=Y
if Y=1 X^Y^X=1^1^1=1=Y
于是有 X^Y^X=Y
a,b是同位宽整数,对a,b对应位置做异或操作
a=a^b
b=b^a=b^(a^b)=a
a=a^b=(a^b)^a=b
实现a,b之间的交换。
End.