• 不用中间变量交换两个数的值(位移运算)


    看文章看到这个方法就记录一下

    1. 一般我们交换两个数的的值,都会增加一份临时变量

        例如:

            int a = 10;
            int b = 20;
    
            int c = a;
            a = b;
            b = c;    

    2. 可以通过数值相加

    例如:

            int a = 10;
            int b = 20;
    
            a = a + b;
            b = a - b;
            a = a - b;    

    3. 位移运算(面试)

    例如:

            int a = 10;
            int b = 20;
    
            a^=b;
            b^=a;
            a^=b;    

    位移运算也是异或运算

    把数字转化二进制进行运算(即相同为0,不同为1)

    a = 1,b=2

    a = 0001,b = 0010

    a^=b  是a异或b 赋值给a   即 a = a^b =0011

    b^=a  是b异或a 赋值给b   即 b = b^a = 0001

    a^=b  是a异或b 赋值给a   即 a = a^b = 0010

    ---------------------------------------------------------------------阿纪----------------------------------------------------------------------

  • 相关阅读:
    第二次作业
    第一次作业
    第三次作业
    第二次作业
    第一次作业
    第五次作业
    第四次作业
    第三次作业
    第二次作业
    第一次作业
  • 原文地址:https://www.cnblogs.com/sunjiguang/p/5668330.html
Copyright © 2020-2023  润新知