B==16とB==32のそれぞれが条件式なので0か1の値しか取らないので結果が同じなんですね。 1ビット以上の数値が入っている変数BをB AND 16みたくビット演算してやると結果が0か16なので、それをまたビット演算したりするとややこしい事になったりします。