The question about statements like: if(x & a == b) is not a difficulty with precedence in the C language. The problem is that you are using & instead of &&. Using logical instead of bitwise AND in if() statements is something which must be bred out of C programmmers. S. Hemminger