算術シフトって「1の補数」をと取るんでしょ。