位与(&)、位或(|)、位异或(^)、非位(~)
第一个数的位值 | 第二个数的位值 | 运算结果 |
---|---|---|
1 | 1 | 1 |
1 | 0 | 0 |
0 | 1 | 0 |
0 | 0 | 0 |
第一个数的位值 | 第二个数的位值 | 运算结果 |
---|---|---|
1 | 1 | 1 |
1 | 0 | 1 |
0 | 1 | 1 |
0 | 0 | 0 |
第一个数的位值 | 第二个数的位值 | 运算结果 |
---|---|---|
1 | 1 | 0 |
1 | 0 | 1 |
0 | 1 | 1 |
0 | 0 | 0 |
“<<”运算符执行左移位运算
console.log(5 << 1) // 10
// .... 00 0101 -> 5
// 向右移动1位
// .... 00 1010 -> 10
“>>”运算符执行有符号右移位运算
console.log(10 >> 1) // 5
// .... 00 1010 -> 10
// 向左移动1位
// .... 00 0101 -> 5
“>>>”运算符执行五符号右移位运算
console.log(5 >>> 1) // 2
// .... 00 0101 -> 5
// 向左移动1位
// .... 00 0010 -> 2
console.log(-5 >>> 1) // 2147483645
// 100... 00 0101 -> 5
// 向左移动1位
// 010... 00 0010 -> 2147483645