位运算实现swap

发布时间 2023-12-02 14:36:44作者: 加固文明幻景

位运算实现 swap

异或的性质

\[a \oplus a=0 \]

\[a \oplus 0=a \]

\[a\oplus b=b \oplus a \]

a = a ^ b;
b = a ^ b;
a = a ^ b;

证明

\[a=(a \oplus b) \]

\[b=(a \oplus b) \oplus b=a \oplus (b \oplus b) = a \oplus 0 = a \]

\[a=(a \oplus b) \oplus a =(a \oplus a) \oplus b = 0 \oplus b =b \]