JavaScript 位运算符

56 阅读2分钟

前言

位运算符是JavaScript中一组用于对数字进行位级操作的运算符。它们允许我们直接在数字的二进制表示中进行操作,进行位移、位与、位或、位非等操作。

一、按位非运算符

(~)用于对一个数的每个位进行逻辑非操作。

let x = 5 // 二进制 0000 0101
let y = 3 // 二进制 0000 0011
console.log(~x) // -6  11111010

二、按位与运算符

(&)用于对两个数的每个位进行逻辑与操作。

console.log(x & y) // 1  00000001

三、按位或运算符

(|)用于对两个数的每个位进行逻辑或操作。

console.log(x | y) // 7  00000111

四、按位异或运算符

(^)用于对两个数的每个位进行逻辑异或操作。

console.log(x ^ y) // 6  00000110

五、左移运算符

(<<)将一个数的所有位向左移动指定的位数。

console.log(x << y) // 10 00001010

六、右移运算符

(>>)将一个数的所有位向右移动指定的位数,正数用0填充,负数用1填充。

console.log(x >> y) // 2 00000010

在上面的代码中,我们使用了位运算符对变量 x 和 y 进行位运算操作。按位与运算符 & 对两个数的每个位进行逻辑与操作。按位或运算符 | 对两个数的每个位进行逻辑或操作。按位异或运算符 ^ 对两个数的每个位进行逻辑异或操作。按位非运算符 ~ 对一个数的每个位进行逻辑非操作。左移运算符 << 将一个数的所有位向左移动指定的位数。有符号右移运算符 >> 将一个数的所有位向右移动指定的位数,正数用0填充,负数用1填充。无符号右移运算符 >>> 将一个数的所有位向右移动指定的位数,用0填充。

需要注意的是,位运算符操作的是数字的二进制表示,因此运算结果也是以二进制表示的。在实际开发中,位运算符常用于处理位掩码、编码解码和性能优化等特定场景。

结语:

位运算符,确实有点东西,鲁迅说:理解运算符的使用方法和行为是成为一位高级JavaScript开发人员的关键。它们可以帮助我们编写搞笑(高效)和精确的代码,处理二进制数据和位级操作。好了,还有一节运算符优先级,老夫终于可以更完休息了