// 位运算符示例代码
// 按位与 (&)
let a = 5; // 二进制: 0101
let b = 3; // 二进制: 0011
console.log(a & b); // 输出 1 (二进制: 0001)
// 按位或 (|)
a = 5; // 二进制: 0101
b = 3; // 二进制: 0011
console.log(a | b); // 输出 7 (二进制: 0111)
// 按位异或 (^)
a = 5; // 二进制: 0101
b = 3; // 二进制: 0011
console.log(a ^ b); // 输出 6 (二进制: 0110)
// 按位非 (~)
a = 5; // 二进制: 0101
console.log(~a); // 输出 -6 (二进制: 取反后加1,即补码表示法)
// 左移 (<<)
a = 5; // 二进制: 0101
console.log(a << 1); // 输出 10 (二进制: 1010)
// 右移 (>>)
a = 5; // 二进制: 0101
console.log(a >> 1); // 输出 2 (二进制: 0010)
// 无符号右移 (>>>)
a = -5; // 二进制: 补码表示法
console.log(a >>> 1); // 输出 2147483645 (二进制: 无符号右移,左边补0)
&
):两个位都为 1
时结果为 1
,否则为 0
。|
):任意一个位为 1
时结果为 1
,否则为 0
。^
):两个位不同时结果为 1
,相同时结果为 0
。~
):对每个位取反,0
变 1
,1
变 0
。<<
):将数字的二进制表示向左移动指定的位数,右边用 0
填充。>>
):将数字的二进制表示向右移动指定的位数,左边用符号位填充(正数补 0
,负数补 1
)。>>>
):将数字的二进制表示向右移动指定的位数,左边用 0
填充,不考虑符号位。上一篇:js 序列化和反序列化
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站