Exemple

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

Solution
Utiliser des parenthèses afin que l'opérateur bit à bit soit évalué en premier.

void foo( int a, int b)
{
if( (a&b) != 0 ) {
// (a&b) évalué en premier
}
}