编译异常有关问题

编译错误问题
warning C4554: “&”: 检查运算符优先级可能存在的错误;使用圆括号阐明优先级,这个我用圆括号改怎么没用《源程序为:
  if(ch2DH&0x9f==0x98 && ch2EH==0x0 && ch2FH==0x0 ) break;//finished
  if(ch2DH&0x9f==0x98 && ch2EH!=0x0 ) break;//err
  if(ch2DH&0x9f==0x98 && ch2EH==0x0 && ch2FH!=0x0 ) break;//err
  if(ch2DH&0X9F==0x9F ) break;//finished

------解决方案--------------------
warning C4554: “&”: 不是错误。
看你的程序好像没有错误。
------解决方案--------------------
C/C++ code

bool bAnd = (ch2DH & 0x9f) == 0x98; 
if(bAnd && ch2EH==0x0 && ch2FH==0x0 ) break;//finished
if(bAnd && ch2EH!=0x0 ) break;//err
if(bAnd && ch2EH==0x0 && ch2FH!=0x0 ) break;//err
if(bAnd) break;//finished