<<在C ++中的运算符?
我是C ++新手,下面的<<
声明中的确切含义是什么,谢谢。
if (Val & (0x0001 << 0))
{}
else
{}
这是一个左移操作。 如果你有:
a << b
其中a
和b
是整型(char,short,long等),然后a
中的位向左移动b
位,零位填充在右边。 换句话说, a
乘以2^b
。
例:
12 << 3
12 (decimal) = 00001100 (binary)
左移3个地方:
00001100 becomes 01100000
即96( 12 * 8
或12 * 2^3
)
它意味着向左移位0x0001数字0位。 在那个特定的情况下,它什么都不做。
例如,如果它是(0x0001 << 4)
,则0x0001将变为0x0010。 向左移动的每个位置就像数字乘以2。
这是一个位移运算符。
但是当整数不涉及时,请注意底层的重载操作符。
链接地址: http://www.djcxy.com/p/72491.html上一篇: << operator in C++?