From Jason Turner

[expr.shift]

Diff to HTML by rtfpessoa

tmp/tmpavcmnp0x/{from.md → to.md} RENAMED
@@ -18,12 +18,14 @@ left operand.
18
  The value of `E1 << E2` is `E1` left-shifted `E2` bit positions; vacated
19
  bits are zero-filled. If `E1` has an unsigned type, the value of the
20
  result is $\mathrm{E1}\times2^\mathrm{E2}$, reduced modulo one more than
21
  the maximum value representable in the result type. Otherwise, if `E1`
22
  has a signed type and non-negative value, and
23
- $\mathrm{E1}\times2^\mathrm{E2}$ is representable in the result type,
24
- then that is the resulting value; otherwise, the behavior is undefined.
 
 
25
 
26
  The value of `E1 >> E2` is `E1` right-shifted `E2` bit positions. If
27
  `E1` has an unsigned type or if `E1` has a signed type and a
28
  non-negative value, the value of the result is the integral part of the
29
  quotient of $\mathrm{E1}/2^\mathrm{E2}$. If `E1` has a signed type and a
 
18
  The value of `E1 << E2` is `E1` left-shifted `E2` bit positions; vacated
19
  bits are zero-filled. If `E1` has an unsigned type, the value of the
20
  result is $\mathrm{E1}\times2^\mathrm{E2}$, reduced modulo one more than
21
  the maximum value representable in the result type. Otherwise, if `E1`
22
  has a signed type and non-negative value, and
23
+ $\mathrm{E1}\times2^\mathrm{E2}$ is representable in the corresponding
24
+ unsigned type of the result type, then that value, converted to the
25
+ result type, is the resulting value; otherwise, the behavior is
26
+ undefined.
27
 
28
  The value of `E1 >> E2` is `E1` right-shifted `E2` bit positions. If
29
  `E1` has an unsigned type or if `E1` has a signed type and a
30
  non-negative value, the value of the result is the integral part of the
31
  quotient of $\mathrm{E1}/2^\mathrm{E2}$. If `E1` has a signed type and a