2013-03-03 2 views
-2

Прежде чем рассказать мне о Google, обратите внимание, что Google не будет искать «< <».Что делает << делать?

Я нашел следующее:

данных представляет собой массив байтов.

INT ResultChannel = данные [1] + (данные [2] < < 8)

Как работает < < работу?

+0

На самом деле, [http://msdn.microsoft. com/en-us/library/a1sway8w.aspx] (http://msdn.microsoft.com/en-us/library/a1sway8w.aspx) –

+0

Вы даже попробовали Google? – antonijn

+0

Вы пытались google << персонажи? Скажите, если вам повезло с этим ... – user970696

ответ

6

Сдвиг влево.

В C-вдохновленных языках, операторы левого и правого сдвига являются "< <" и ">>", соответственно. Число мест сдвига дается как второй аргумент оператора сдвига . Например,

x = y << 2; 

присваивает x результат сдвига y влево на два бита.

+1

Нелогично, это поразрядно. – Hauleth

+2

@ ŁukaszNiemier Существует 2 типа сдвигов, арифметические и логические. Что будет с побитовым сдвигом? – axiom

2

< < является left shift operator

Оператор сдвига влево (< <) сдвигает свой первый операнд влево на числа бит, заданных с помощью своего второго операнда. Тип второго операнда должен быть 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

это оператор побитового сдвига.

Он сдвигает бит влево.

Например: 5 < < 3 возвращает значение, которое расположено в 5 смещенных влево. Пять в двоичном виде:

00000101 

И если вы переносите, что три места слева вы получите:

00101000 

Который 40.

Смежные вопросы