00001111and
---------
00000000
ANDというのは特定のビットを0にする効果がある
んで、値を変えたくない場所を1にすればよい。
今回は上位4ビットを強制的に0にしたいわけ。
つまりどんな数字でも0から15までに抑えるわけだ。
もう一つ例を。
01011010
00001111and
---------
00001010
逆にor演算は特定のビットを1にしたいときに利用する。
例えば
00010000
10000000or
---------
10010000
こうすれば最上位ビットを強制的に1にしたいという要望に答えられる。
実際に手で紙などに2進数を書いて計算したかい?
そういった面倒なことこそ、俺が手を動かせと言った意味さ。
分からなければ逃げずにトコトンしがみつけ!