fix warnning about shift count negative or too big, undefined behavior