[Javascript] 位运算

概述

JavaScript 中所有位运算都会先将操作数通过 ToInt32 转为 32 位有符号整数(补码),再按位进行计算。常用于标志位管理、快速取整、高效色彩处理等场景。

常见运算符

运算符 名称 说明
& 按位与 两位都为 1 时,结果为 1
| 按位或 任一位为 1 时,结果为 1
^ 按位异或 不同位时,结果为 1
~ 按位非 对所有位取反;~x === -x - 1
<< 带符号左移 左移并补低位 0;相当于乘以 2ⁿ
>> 带符号右移 右移并保持符号;高位补符号位
>>> 无符号右移 右移并补高位 0;结果总为非负数

示例

let a = 5    // 0000 0000 0000 0000 0000 0000 0000 0101
let b = 3    // 0000 0000 0000 0000 0000 0000 0000 0011

a & b   // 1   (0001)
a | b   // 7   (0111)
a ^ b   // 6   (0110)
~a      // -6  (按位取反后加一)
a << 1  // 10  (左移一位,相当于 ×2)
a >> 1  // 2   (带符号右移,保留符号)
a >>> 1 // 2   (无符号右移,高位补零)
posted @ 2025-06-08 15:52  Zhentiw  阅读(18)  评论(0)    收藏  举报