Andやorがビット演算子、&&や||が論理演算子だったと思います。 論理演算子は0であるか否かのみを参照します なので 1&&2==1, 2&&1==1, 0&&1==0 となります andは2進数の掛け算と考えていいです 0110 and 1010 は 0110 = 6 **** 1010 = 10 0010 = 2 となります