>>258
swap(a,b) は
a^=b;
b^=a;
a^=b;
と書くことが出来る。a^=b は a=a xor b な。