Глядя на строку кодаЧто << означает в Javascript
if(display & (1<<2))
что делает 1 < < 2 означает?
И правильно ли я считаю, что & является побитовым оператором И?
Глядя на строку кодаЧто << означает в Javascript
if(display & (1<<2))
что делает 1 < < 2 означает?
И правильно ли я считаю, что & является побитовым оператором И?
Это 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
.
Вы всегда можете [проверить документы] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Bitwise_Operators). – ajp15243