<<在C ++中的运算符?

我是C ++新手,下面的<<声明中的确切含义是什么,谢谢。

if (Val & (0x0001 << 0))
{}
else
{}

这是一个左移操作。 如果你有:

a << b

其中ab是整型(char,short,long等),然后a中的位向左移动b位,零位填充在右边。 换句话说, a乘以2^b

例:

12 << 3

12 (decimal) = 00001100 (binary)

左移3个地方:

00001100 becomes 01100000 

即96( 12 * 812 * 2^3


它意味着向左移位0x0001数字0位。 在那个特定的情况下,它什么都不做。

例如,如果它是(0x0001 << 4) ,则0x0001将变为0x0010。 向左移动的每个位置就像数字乘以2。


这是一个位移运算符。

但是当整数不涉及时,请注意底层的重载操作符。

链接地址: http://www.djcxy.com/p/72491.html

上一篇: << operator in C++?

下一篇: What do ">>" and "<<" mean in Javascript?