2013-09-23 4 views
1

Глядя на строку кодаЧто << означает в Javascript

if(display & (1<<2)) 

что делает 1 < < 2 означает?

И правильно ли я считаю, что & является побитовым оператором И?

+7

Вы всегда можете [проверить документы] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Bitwise_Operators). – ajp15243

ответ

6

Это bitwise left shift operator. Операнды преобразуются в 32-битные целые числа, бит левого операнда сдвигается влево на число позиций, определяемых правым операндом, и результатом выражения является результат.

Вот простой пример:

var a = 1; 
var b = a << 2; // Move the bit left by two places 
console.log(b); // "4" 

Это работает, потому что в подписанном 32-разрядное целое число, 1 выглядит в двоичном:

00000001

Если вы перемещаете, что немного влево два местонахождение:

00000100

... вы получаете 4.

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