s
Size: a a a
s
s
s
AS
s
AS
s
K
0b1111111111 << 22
SA
DP
SA
The value of a << b is the unique value congruent to a * 2b
modulo 2N
where N is the number of bits in the return type (that is, bitwise left shift is performed and the bits that get shifted out of the destination type are discarded).
For signed and non-negative a, if a * 2b
is representable in the unsigned version of the return type, then that value, converted to signed, is the value of a << b (this makes it legal to create INT_MIN as 1<<31); otherwise the behavior is undefined.
IZ
O
s
D
std::hash
IZ
D
NK
s
S