xor交換を3つ以上で行う。

yamagenii 9views 更新:2016年11月24日

XOR交換アルゴリズム

これは一時変数を使わず、2変数を交換するものですが、xorの性質を利用しているので、3つでも交換できます。

(x,y,z)->(y,z,x)

x = x^y^z
y = x^y^z //元々のx
z = x^y^z //元々のy
x = x^y^z

というわけで4変数以上にも行けそうですね!(実用的では無いですが。)

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません