主题:异或操作的式子,看不懂。求解释
a ^= b ^= a ^= b;
书上说这个式子可以交换a和b的值。
我知道异或怎么算,如果我一步一步分开来,并给a,b都假定一个值,我是可以算出结果确实是交换了两个值,可是我不明白这样写连起来的道理,就是我不清楚为什么别人能想到这么写?
书上是这么解释的:可以将上述等效于下述两步:
b = b ^= a ^= b; a = a ^= b;//这里就看不懂了。
书上说这个式子可以交换a和b的值。
我知道异或怎么算,如果我一步一步分开来,并给a,b都假定一个值,我是可以算出结果确实是交换了两个值,可是我不明白这样写连起来的道理,就是我不清楚为什么别人能想到这么写?
书上是这么解释的:可以将上述等效于下述两步:
b = b ^= a ^= b; a = a ^= b;//这里就看不懂了。