1

看一行代码

if(display & (1<<2))

1<<2 是什么意思?

我认为 & 是按位与运算符是否正确?

4

1 回答 1

7

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

这是一个简单的例子:

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

这是有效的,因为在一个有符号的 32 位整数中,1在二进制中看起来像这样:

00000001

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

00000100

......你明白了4

于 2013-09-23T15:55:26.917 回答