...
Making assumptions about whether a right shift is implemented as an arithmetic (signed) shift or a logical (unsigned) shift can also lead to vulnerabilities (see INT13-A. Do not assume that a right shift operation is implemented as a logical or an arithmetic shiftUse bitwise operators only on unsigned operands).
Compliant Solution (Right Shift)
...