00010000
00001111and
---------
00000000

ANDというのは特定のビットを0にする効果がある
んで、値を変えたくない場所を1にすればよい。
今回は上位4ビットを強制的に0にしたいわけ。
つまりどんな数字でも0から15までに抑えるわけだ。
もう一つ例を。
01011010
00001111and
---------
00001010

逆にor演算は特定のビットを1にしたいときに利用する。
例えば

00010000
10000000or
---------
10010000

こうすれば最上位ビットを強制的に1にしたいという要望に答えられる。

実際に手で紙などに2進数を書いて計算したかい?
そういった面倒なことこそ、俺が手を動かせと言った意味さ。
分からなければ逃げずにトコトンしがみつけ!