Нет, это побитовая операция.
Представьте себе c=7
.В этом случае все условия будут истинными.
c = 7;
bulk = (c & 4) == 4; // true
hazardous = (c & 2) == 2; //true
toxic = (c & 1) == 1; //true
В двоичном коде вы получите следующее:
c = 0111; //4-bit to simplify output
bulk = (c & 0100) == 0100; //
hazardous = (c & 0010) == 0010; //true
toxic = (c & 0001) == 0001; //true
Из-за побитового И (&) вы получите 0111 & 0010 = 0010
и т. Д.