只对二进制数有效

或:

image.png

与:&

都为1,则为1
image.png

否:

1变0,0变1
运算结果以补码的形式显示
image.png

异或:^

两个位相同,则结果为0,否则为1

左移右移

<<
>>
image.png

头部补零的右移运算符

>>>

使用与运算符判断奇偶

**偶数 & 1 = 0**
基数 & 1 = 0

使用~,>>,<<,>>>,| 来取整

console.log(~~ 6.83) // 6
console.log(6.83 >> 0) // 6
console.log(6.83 << 0) // 6
console.log(6.83 | 0) // 6
console.log(6.83 >>> 0) // 6

使用 ^ 来交换a b的值

  1. var a = 5
  2. var b = 8
  3. a ^= b
  4. b ^= a
  5. a ^= b
  6. console.log(a) // 8
  7. console.log(b) // 5