...
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-C. Use bitwise operators only on unsigned operands.
Compliant Solution (Right Shift)
...