利用异或实现两个字符常量的交换

通常我们实现两个变量交换的方法是新定义一个中间量,但是在交换数字或字符常量时,我们可以采用异或的方法来进行交换。

 

 

 

 

 

       a = a^b;

                    b = a^b;

                    a = a^b;

 

首先用a保存了a^b的 值,再用b = a ^ b = (a^b)^b=a^b^b=a^(b^b)=a^0=a,这样就成功的实现了b = a;

接着又用a = a^b = (a^b)^b(第一个b还是原来的b,而第二个b已经是a的值,因为前面已经实现了交换)= (a^b)^a = a^a^b = 0^b = b,这样就实现了a = b;

于是,就成功的实现了a,b两个值的交换。

 

posted @ 2022-02-26 00:05  timberwang  阅读(114)  评论(0)    收藏  举报