分类: JavaScript
2019-09-02 10:20:55
操作符 | 名称 | 描述 |
---|---|---|
& | 按位与 | 如果两个位均为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 |