I prefer to have unsigned ints for the shifts, because a shift cannot be
negative.
Using unsigned where semantically more correct.
Shifts are unsigned.
Shifts are unsigned.