Java のシフト演算子についてのコメントが間違っているので修正。
コードは怪我の功名の部分もあると思うけどもう一回見直すこと。