Javascript 里什么是<<

What does << mean in Javascript

本问题已经有最佳答案,请猛点这里访问。

查看一行代码

1
if(display & (1<<2))

1<<2是什么意思?

我是否认为&是位和运算符?


它是按位左移位运算符。操作数被转换为32位整数,左操作数的位被右操作数定义的位置数左移,结果是表达式的值。

下面是一个简单的例子:

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

这是因为在有符号的32位整数中,1的二进制形式如下:

1
00000001

如果将该位向左移动两个位置:

1
00000100

…你得到了4