Exemplo

void foo( int a, int b)
{
if( a&b != 0 ) {
//b!=0 avaliado primeiro
}
}

Solução
Utilize colchetes para certificar-se de que o operador bit a bit seja avaliado primeiro.

void foo( int a, int b)
{
if( (a&b) != 0 ) {
//(a&b) avaliado primeiro
}
}