不使用第三个变量交换两个数的值

不使用第三个变量交换两个数的值

  • 相加法

    let a = a+b
    let b = a-b
    let a = a-b
    
  • 异或运算符

    相异为一,相同为零。

    假如 a = 10,b = 12。那么它们的异或操作为 1010 与 1100,结果为 0110。

    let a = a^b
    let b = a^b
    let a = a^b
    

    由此我们可以发现一个结论,两个相同的二进制数进行异或的时候,它会等于0;任意一个二进制数与 0 进行异或,它会等于不为 0 的那个数

posted @ 2022-07-11 09:23  朱在春  阅读(34)  评论(0编辑  收藏  举报