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运算符高级应用