看一行代码
if(display & (1<<2))
1<<2 是什么意思?
我认为 & 是按位与运算符是否正确?
这是按位左移运算符。操作数转换为 32 位整数,左操作数的位左移右操作数定义的位置数,表达式的值就是结果。
这是一个简单的例子:
var a = 1;
var b = a << 2; // Move the bit left by two places
console.log(b); // "4"
这是有效的,因为在一个有符号的 32 位整数中,1
在二进制中看起来像这样:
00000001
如果将该位移动到左侧两个位置:
00000100
......你明白了4
。