一番下のビットだけが立った値が欲しいのであれば
n & ~(n - 1) でいいのだが、シフト数となると辛いな。
単純にずらして探すしかないのだろうか。