あんま関係ない話だけれども,Cで int a=123, b=456, c; の a, b を入れ替えるのには
a ^= b; b^=a; a ^=b; よりも c = a; a = b; b = c; の方が速かったよ
CPU は Pentium III