算法学习笔记

异或运算-不进位加法

具备规律-交换律

a^b = b^a

具备规律-结合律

(a^b)^c = a^(b^c)

具备规律

对于任何数x,都有x^x=0,x^0=x
自反性 A XOR B XOR B = A xor  0 = A

实际运用:只用两个变量完成值的互换

   fun switch() {
        var a = 5
        var b = 10

        a = a xor b
        b = a xor b
        a = a xor b

        println("a: $a") // 输出 10
        println("b: $b") // 输出 5
    }

解析

a = a xor b
b = a xor b xor b  (结果a)
a = a xor a xor b (结果b)

你可能感兴趣的:(基础,学习,笔记)