負数のシフトは処理系に依存するので行わない方が良い……と聞いたことがありますが、そういう次元の問題では無い気がしますね。