>>201
>>> or << のことと混同してない?
>>や<<は2^nの乗除と同等と定められている
&,|,^などの動作は処理系依存として何も規定されていない。
(数値的にだけでなく、ビット列についても全く何も規定していない)
我々が数学的に想像する結果はISO規格としては保証しないということ。

>^= は右結合性だから、まともな処理系・コンパイラなら(a^=(b^=(a^=b)))
ISOの規格上で未定義。もちろん動作する処理系があっても何もおかしくない
不定は三回の代入の順番を決められないところ。最後のa^=のときにまだ
最初のa^=bの代入が終わっていないかもしれない。


必ずISO準拠な訳でもないし、処理系で保証しているならそれもいいんだが
そんなわけでa-=b,b+=a,a=b-aに一票