Win a copy of The Way of the Web Tester: A Beginner's Guide to Automating Tests this week in the Testing forum!

& and | on same number

Ranch Hand
Posts: 284
2 & 2 will always be two.
ditto for 2 | 2.
etc etc ... 150 & 150 will always be 150
ditto for 150 | 150 ...
but what about if the number were negative... still no change to the original value methinks... but no such simple rule would be for an exclusive or operation?

Jim Yingst
Wanderer
Sheriff
Posts: 18671
but what about if the number were negative... still no change to the original value methinks...
Correct.
but no such simple rule would be for an exclusive or operation?
There's actually a very simple rule for the result of x ^ x. Try it with an example - what's 41 ^ 41? In binary:
00101001 ^ 00101001 = ?

Layne Lund
Ranch Hand
Posts: 3061
You can try two simpler examples:
0 ^ 0 = ?
1 ^ 1 = ?
Since these are the only two possible values for a given bit, the answers to the above equations will help you find the rule you are looking for.
HTH
Layne