... it's the context in which you use it. And depending on how you use this C constant that Henrik A stumbled across, it can get pretty interesting ...
#define MAX_PID 2^sizeof(SpaceId)-1 //SpaceId is typedef int, sizeof(int) is 4
At first, I didn't get it either. But, when you consider that the ^ operator is the very-low-priority bitwise-xor operator, you have quite a lot of uses for it:
(MAX_PID) => 1
MAX_PID == 1 => 2
1 == MAX_PID => 3
1+MAX_PID => 0
MAX_PID+1 => 6
MAX_PID*5 => -3
I was going to post this earlier, but wanted to clarify what the ^ operator was all about. So, it's a real two-for-one day today.