Its simple you evaluate from left to right and replace every expression with its value you'll get the answer.
if (b1 & b2 | b2 & b3 | b2)
if( true & false | false & true | false) became if(false | false & true | false) after evaluating true & flase to false. Then that became if(false & true | false) after evaluating false | false to false. After that false & true gave false then false | false gave false as a result.
For Line 2: Its just performing line 1 result | b1. b1 is true. hence false (result of line 1) | true yields true.
I think you are clear now.
if you think you can you r right<br />if you think you can not you r double right
Originally posted by Henry Wong: This question has appeared on this forum before -- just use the search link above to look for either "SSBool" or "dokey".
Basically... the key to getting the answer is an understanding that the bitwise AND operator has a higher precedence than the bitwise OR operator.
[ September 20, 2006: Message edited by: Henry Wong ]
Simplest answer is it is all in operator precedence!
-- <br /> <br />Perhaps you are the best relief worker out there that could really help the children in distress. Work with UNICEF through the web at <a href="http://www.unicef.org" target="_blank" rel="nofollow">http://www.unicef.org</a>