不使用第三个变量,怎么交换两个变量的值?
1、异或 其运算法则为a异或b=a'b+ab'(a'为非a)。
2、真异或假的结果是真,假异或真的结果也是真,真异或真的结果是假,假异或假的结果是假。就是说两个值不相同,则异或结果为真。反之,为假。
所以 按位异或 也常用于字节取反操作。
异或还可以用来交换两个整形变量的值,而不需要第三个量的传递.
例如:
a=9;
b=10;
a=a^b;
b=b^a;
a=b^a;
结果是a为10,b为9.
用异或操作交换变量值【转】,来源:http://blog.21ic.com/user1/4692/archives/2008/53602.html