>>はビットシフトで切り捨ての処理だと思うんですが,0x4000 を加算する理由がわかりません