两个变量实现交换
例如:a=13,b=5,要求对a、b实现交换。
一般方法:a=13;b=5;另设一个变量c.
c=a;a=b;b=c;
特殊方法:a=13;b=5;对a、b进行按位与。
a=a^b;b=a^b;a=a^b;
13二进制表示1101;5二进制表示0101;
a=a^b:1101^0101=1000;
b=a^b:1000^0101=1101;
a=a^b:1000^1101=0101;
a=5;b=13;
即实现了a、b的交换。
两个变量实现交换
例如:a=13,b=5,要求对a、b实现交换。
一般方法:a=13;b=5;另设一个变量c.
c=a;a=b;b=c;
特殊方法:a=13;b=5;对a、b进行按位与。
a=a^b;b=a^b;a=a^b;
13二进制表示1101;5二进制表示0101;
a=a^b:1101^0101=1000;
b=a^b:1000^0101=1101;
a=a^b:1000^1101=0101;
a=5;b=13;
即实现了a、b的交换。