JavaScript按位运算符
操作符 |
名称 |
描述 |
& |
按位与 |
如果两个位均为1,则将每个位设置为1 |
Ι |
按位或 |
如果两位中的一位为1,则将每个位设置为1 |
^ |
按位异或 |
如果两个位中只有一个为1,则将每个位设置为1 |
~ |
非 |
反转所有位 |
<< |
零填充左移 |
通过从右侧推入零来左移,让最左边的位掉下来 |
>> |
算术右移 |
通过从左侧推入最左边的位的副本来向右移动,并使最右边的位脱落 |
>>> |
零填充右移 |
通过从左侧推入零来向右移动,并让最右边的位脱落 |
例子:
操作 |
结果 |
等价 |
结果 |
5 & 1 |
1 |
0101 & 0001 |
0001 |
5 Ι 1 |
5 |
0101 Ι 0001 |
0101 |
~ 5 |
10 |
~0101 |
1010 |
5 << 1 |
10 |
0101 << 1 |
1010 |
5 ^ 1 |
4 |
0101 ^ 0001 |
0100 |
5 >> 1 |
2 |
0101 >> 1 |
0010 |
5 >>> 1 |
2 |
0101 >>> 1 |
0010 |
按位与
当对一对位执行按位与操作时,如果两个位都为1,则返回1。
一位操作例子:
操作 |
结果 |
0&0 |
0 |
0&1 |
0 |
1&0 |
0 |
1&1 |
1 |
按位或
当对一对位执行按位或操作时,如果其中至少有一个位为1,则返回1,否则返回0:
一位操作例子:
操作 |
结果 |
0Ι0 |
0 |
0Ι1 |
1 |
1Ι0 |
1 |
1Ι1 |
1 |
可以在线尝试一下
按位异或
当对一对位执行按位异或操作时,如果位不同(相异而或),则返回1:
一位操作例子:
操作 |
结果 |
0^0 |
0 |
0^1 |
1 |
1^0 |
1 |
1^1 |
0 |
更全面的JavaScript运算符高级应用