I am new to C++, what\'s the exact meaning for the << in statement below, Thanks.
if (Val & (0x0001 << 0))
{}
else
{}
It is a shift-left operation. If you have:
a << b
where a and b are integral types (char, short, long, etc.), then the bits in a are shifted left b places with zeroes filling in on the right. In other words, a is multiplied by 2^b.
Example:
12 << 3
12 (decimal) = 00001100 (binary)
shift left 3 places:
00001100 becomes 01100000
which is 96 (which is 12 * 8 or 12 * 2^3)