If the standard writers had wanted to, they <i>could</i> have specified that a shift by an amount as wide or wider than the type had an &quot;implementation-defined result&quot;, which is used elsewhere (for example, right-shifting a negative value gives an implementation-defined result).