什么<<做?

时间:2013-03-03 14:00:23

标签: c# syntax

在告诉我google之前,请注意Google不会搜索“<<”字符。

我找到了以下内容:

数据是一个字节数组。

  

int ResultChannel = data [1] +(data [2]<< 8)

<<<<<<<工作?

3 个答案:

答案 0 :(得分:6)

向左移动。

  

在C语言中,左右移位运算符是“<<”   和“>>”分别。要转移的地方数量为   转移运营商的第二个论点。例如,

x = y << 2;
     

将x向左移位两位的结果赋予x。

答案 1 :(得分:2)

&LT;&LT;是left shift operator

  

左移运算符(&lt;&lt;)将其第一个操作数移位   由其第二个操作数指定的位数。第二种类型   操作数必须是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);
}

答案 2 :(得分:2)

这是一个移位操作员。

它将位移到左边。

例如:5&lt;&lt;&lt;&lt; 3返回一个值为5的位置,三个位于左侧。二进制中的五个是:

00000101

如果你将这三个位置向左移动,你会得到:

00101000

这是40岁。