前言
位运算符是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开发人员的关键。它们可以帮助我们编写搞笑(高效)和精确的代码,处理二进制数据和位级操作。好了,还有一节运算符优先级,老夫终于可以更完休息了