why are you replacing a logical shift by an arithmetic one?