种类
JS中位运算符一共七种, 分别是: 按位非(~),
使用及用途
一.按位非(~):
用法:
let num1 = 25;
let num2 = ~num1;
alert(num2); // -26
作用: 本质上是操作符的负值减1;
二. 按位于(&):
用法:
let res = 25 & 3;
console.log(res) //1
作用: 两个数值的对应位都是1时才返回1, 任何一位是0就会返回0;
三. 按位或(|):
用法:
let res = 25 | 3;
console.log(res) //27
作用: 两个数值对应位只要一个是1时就会返回1, 都是0的时候才返回0;
四. 按位异或(^):
用法:
let res = 25 ^ 3;
console.log(res) //26
作用: 两个数值对应位只能有一个1时才会返回1, 都是1或者都是0都返回0;
五. 左移(<<):
用法:
let res1 = 2;
let res2 = res1 << 5;
console.log(res) //64
作用: res1数值右侧多出5位, 并用0来补充;
六. 右移(>>):
用法:
let res1 = 64;
let res2 = res1 >> 5;
console.log(res) //2
作用: 与左移相反;
七. 无符号右移(>>>)
//正数
let res1 = 64;
let res2 = res1 >>> 5;
console.log(res) //2
//负数
let res1 = -64;
let res2 = res1 >>> 5;
console.log(res) //134217726
作用: 正数时同右移, 负数会把负数的二进制码当成正数处理;