在告诉我谷歌之前,请注意谷歌不会搜索“<<”字符。
我发现了以下内容:
data 是一个字节数组。
int ResultChannel = data[1] + (data[2] << 8)
<< 是如何工作的?
左移。
在受 C 启发的语言中,左移运算符和右移运算符分别是“<<”和“>>”。移位的位数作为移位运算符的第二个参数给出。例如,
x = y << 2;
将 y 左移两位的结果赋给 x.
<< 是左移运算符
左移运算符 (<<) 将其第一个操作数左移第二个操作数指定的位数。第二个操作数的类型必须是 int 或具有到 int 的预定义隐式数字转换的类型。
static void Main()
{
int i = 1;
long lg = 1;
// Shift i one bit to the left. The result is 2.
Console.WriteLine("0x{0:x}", i << 1);
// In binary, 33 is 100001. Because the value of the five low-order
// bits is 1, the result of the shift is again 2.
Console.WriteLine("0x{0:x}", i << 33);
// Because the type of lg is long, the shift is the value of the six
// low-order bits. In this example, the shift is 33, and the value of
// lg is shifted 33 bits to the left.
// In binary: 10 0000 0000 0000 0000 0000 0000 0000 0000
// In hexadecimal: 2 0 0 0 0 0 0 0 0
Console.WriteLine("0x{0:x}", lg << 33);
}
它是一个位移运算符。
它将位向左移动。
例如: 5 << 3 返回一个向左移动 5 位的值。二进制中的五是:
00000101
如果你将这三个位置向左移动,你会得到:
00101000
这是40。