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

# K & B boolean Question

RAGU KANNAN
Ranch Hand
Posts: 103
Hello Folks,

somebody Can explaint how the line1 become false and line2 become true.

Thanks, Raghu.K

Henry Wong
author
Marshal
Posts: 21764
85
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.

Henry
[ September 20, 2006: Message edited by: Henry Wong ]

Alangudi Balaji Navaneethan
Ranch Hand
Posts: 42
hi,

Its simple you evaluate from left to right and replace every expression with its value you'll get the answer.

line 1:

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.

kwan Jang
Greenhorn
Posts: 16
"|" means or,and "&" means and!

Fred Chopin
Greenhorn
Posts: 2
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.

Henry

[ September 20, 2006: Message edited by: Henry Wong ]

Simplest answer is it is all in operator precedence!