首页 > 其他 > 详细

更有效率的数据交换

时间:2019-03-12 00:34:30      阅读:182      评论:0      收藏:0      [点我收藏+]

^是异或,

如果是:

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了。

速度快是因为是用了计算机底层的逻辑运算符的方式进行计算,也算是让计算机高兴了,才计算快的。

更有效率的数据交换

原文:https://www.cnblogs.com/toomucherror/p/10514159.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!