aを左にnビットシフト
a << n
aを右にnビットシフト
a >> n
2のn乗
1 << n
数字xを2進数に変換した時に右からn桁目にビットが立っているか?(桁数は0 origin)
if((x >> n) & 1) // ビットが立っていた時の処理