The operands shall be of integral or unscoped enumeration type and integral
promotions are performed.
The type of the result is that of the promoted
The behavior is undefined if the right operand is negative, or greater
than or equal to the width of the promoted left operand.