C - О чем этот синтаксис? << - PullRequest
2 голосов
/ 24 октября 2010

что означает этот символ, пожалуйста? "<<" например: if (1 << var) </p>

Я хочу узнать название предмета. Спасибо.

Ответы [ 6 ]

6 голосов
/ 24 октября 2010

Сдвигает биты в целых 1 var позициях влево. Таким образом, в действительности он вычисляет 2 в степени var.

См. статью о битовых сдвигах в википедии .

5 голосов
/ 24 октября 2010

Это оператор "сдвиг влево". В вашем примере он сдвигает 0000..00001, оставляя места "var". Таким образом, если var равен 1, это то же самое, что и «1 << 1», который смещает от 0001 до 0010, то есть 2. Если var был 2, ответ был бы 0100 (4) и т. Д. вам нужно прочитать о двоичной арифметике. </p>

4 голосов
/ 24 октября 2010

Это left bitwise shift operator.

Другой bitwise shift operator это >>.

3 голосов
/ 24 октября 2010

Это левый оператор сдвига.

Возможно, вы захотите прочитать о побитовых операциях и, более конкретно, операциях битового сдвига .

3 голосов
/ 24 октября 2010
1 голос
/ 24 октября 2010

<< является оператором битовых манипуляций.В частности, << выполняет операцию левого сдвига.Это дает эффект умножения базового значения на степень 2.

Более подробную информацию можно найти по адресу: http://en.wikipedia.org/wiki/Bit_manipulation

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...