不使用中间变量,交换变量值
方法一:采用异或的方法
b ^= a;
a ^= b;
b ^= a;
注:
1.异或法可以完成对整型变量的交换,对于浮点型变量它无法完成交换。
2.有说这种方式其实并没加快运行速度,http://blog.csdn.net/solstice/article/details/5166912
方法二:采用加减法
a += b;
b = a - b;
a -= b;
注:
1.可以交换整型和浮点型数值的变量,但在处理浮点型的时候有可能出现精度的损失
2.可能经验上的某种直觉告诉我们:加减法可能会溢出,其实不然,采用这种方法不会溢出。第一步的加运算可能会造成溢出,但它所造成的溢出会在后边的减运算中被溢出回来。
posted on 2015-01-14 15:46 Life's coding 阅读(357) 评论(0) 编辑 收藏 举报