From: nsz Date: Sat, 29 Oct 2011 23:29:07 +0000 (+0200) Subject: fix 2e in c99 bitwise shift X-Git-Url: http://nsz.repo.hu/git/?p=c-standard;a=commitdiff_plain;h=0b7a1b9887c6d0b4bce83b50a62f872245a303b7;ds=sidebyside fix 2e in c99 bitwise shift --- diff --git a/n1256.html b/n1256.html index 5feddf5..a07b492 100644 --- a/n1256.html +++ b/n1256.html @@ -4748,14 +4748,14 @@ unsigned long long int

The result of E1 << E2 is E1 left-shifted E2 bit positions; vacated bits are filled with - zeros. If E1 has an unsigned type, the value of the result is E1 x 2E2 , reduced modulo + zeros. If E1 has an unsigned type, the value of the result is E1 x 2E2 , reduced modulo one more than the maximum value representable in the result type. If E1 has a signed - type and nonnegative value, and E1 x 2E2 is representable in the result type, then that is + type and nonnegative value, and E1 x 2E2 is representable in the result type, then that is the resulting value; otherwise, the behavior is undefined.

The result of E1 >> E2 is E1 right-shifted E2 bit positions. If E1 has an unsigned type or if E1 has a signed type and a nonnegative value, the value of the result is the integral - part of the quotient of E1 / 2E2 . If E1 has a signed type and a negative value, the + part of the quotient of E1 / 2E2 . If E1 has a signed type and a negative value, the resulting value is implementation-defined.

Contents