]"The precedence of the bitwise logical operators has been criticized.[1] Conceptually, & and | are arithmetic operators like + and *.
The expression a & b == 7 is syntactically parsed as a & (b == 7) whereas the expression a + b == 7 is parsed as (a + b) == 7. This requires parentheses to be used more often than they otherwise would."
Thanks for putting me in the picture. I wouldn't have known where to look. I was kind of hoping the Arduino environment didn't allow pitfalls like this.
Still that's what such a good forum is for. Info gained, problem solved.
PS A compendium of odd things for beginners to watch out for would be a good idea.Like "when masking for a bit, don't do it like this because..."