右側が、pinfuさんが書こうとしていた部分かなと思います。 「NOT」はビットを全部反転させる演算子です。 00000000000000000000000000010000(16) 11111111111111111111111111101111(NOT 16) A以外のビットが1つでも立っていたら !(B AND NOT 16) の部分が偽になります。 おちゃめさんはこの説明は伏せられてるようでしたので、いきなりビットの反転まで踏み込むとややこしいのと、本題の正解例からも離れるから判断されたのかなと思っています。 覚えるとビットの操作で便利ではありますが、慣れないと混乱するとも思いますので、まずはシンプルな論理演算やビットの判定を覚えるのが良いと思います。