Xor switches bits. If a bit is in both operands, then the result will not have that bit set. If a bit is in only one operand, then the result will have the bit set.

Code:
so, in binary: 
OOOOOOO1 XOR 
OOOOOO1O          (i.e. 1 Xor 2 in decimal)
========
OOOOOO11           =3

In your example:
O11O1OOO XOR       =104
O1O11O1O           = 90
========
OO11OO1O           = 50
Does it help? Or is it more confusing now?

Cheers

P.S> Both Megatron and I are posting help but the darn forum messes with the formatting...

[Edited by PaulLewis on 10-02-2000 at 05:55 PM]