intの右シフトが算術シフトなら
上位ビットは1になるはずですよね?
しかも代入している値は正の数ばかりですので
最上位ビットも1ではありません。

どなたか間違いのわかるかた
よろしくお願いします