更有效率的数据交换
^是异或,
如果是:
int x = 8;
int y = 9;
让互换x和y,通常的做法是:
int demo=x;
x=y;
y=demo;
但是用了异或之后就可以这样:
x=x^y;
y=x^y;
x=x^y;
这样容易记住,而且用了更底层的运算方式,计算速度更快
如果你不太懂,我就稍微解释一下:
异或两个相同的int数,原来的值不改变,
第一句就不用解释了;
第二句因为第一句x=x^y;之后再第二句中的x相当于是x^y赋值给y相当于是y=x^y^y所以就是原来的x赋值给y了;
第三句的x^y相当于是x^x^y了,所以就是相当于把原来的y赋值给x了。
速度快是因为是用了计算机底层的逻辑运算符的方式进行计算,也算是让计算机高兴了,才计算快的。