> What does the ^ do in your program. I looked up the ^ symbol > and it is a bitwise XOR. Why do you have this on your examples, > except the 7 one? The 51^7 and 12^51 are even more confusing. It is XOR. He's using the the following properties of XOR: A XOR 0 = A A XOR A = 0 A XOR B = B XOR A A XOR (B XOR C) = (A XOR B) XOR C The effect of the code is (Wo is original W) W = Wo XOR 7 (0 if W == 7) W = W XOR (51 XOR 7) or W = (Wo XOR 7) XOR (51 XOR 7) which after rearranging is Wo XOR 51 (0 if Wo == 51). This is a neat way of doing a switch BTW. Orin.