Bitwise shift operators on signed types
问题 I am trying to understand the behavior of bitwise operators on signed and unsigned types. As per the ISO/IEC document, following are my understandings. Left shift Operator The result of E1 << E2 , is E1 left-shifted E2 bit positions The vacated bits on the account of left shift will be filled by zeros. E1 as signed non-negative: E1 << E2 will result to E1 multiplied by 2 power of E2, if the value is representable by the result type. Q1: What about signed negatives? Q2: I am not able to