横から見ててあれーと思ってたけど
key&2は正否じゃなくて演算結果の2にしかならないんだな
>>*や<<*はシフト演算つって数字の数だけ2で割る/掛ける