位运算说明与应用
位运算直接作用于二进制位,常用于高性能计算、权限控制、协议解析和底层数据处理。
常用位运算
| 运算 | 规则说明 | 常见用途 |
|---|---|---|
AND 与运算 (&) |
两个位都为 1 时结果为 1,否则为 0。 | 掩码提取、条件判断 |
OR 或运算 `( |
)` | 只要有一个位为 1,结果就为 1。 |
XOR 异或运算 (^) |
两个位不同为 1,相同为 0。 | 位翻转、简单校验、状态切换 |
NOT 非运算 (~) |
按位取反,0 变 1、1 变 0(基于 32 位有符号整数)。 | 位反转、快速取反 |
左移 (<<) |
所有位左移指定位数,右侧补 0。 | 乘以 2 的幂 |
右移 (>>) |
所有位右移指定位数,左侧补符号位。 | 除以 2 的幂并保留符号 |
无符号右移 (>>>) |
所有位右移指定位数,左侧始终补 0。 | 处理无符号整型场景 |
| 进制转换 | 支持十进制、十六进制、二进制、八进制输入和结果输出。 | 调试与结果比对 |
运算示例
| 表达式 | 说明 | 结果示例 |
|---|---|---|
0b1100 & 0b1010 |
AND 运算:按位与 | 0b1000 (8) |
0b1100 | 0b1010 |
OR 运算:按位或 | 0b1110 (14) |
0b1100 ^ 0b1010 |
XOR 运算:按位异或 | 0b0110 (6) |
~0b1100 |
NOT 运算:按位取反 | ...11110011 (-13) |
0b1100 << 2 |
左移 2 位 | 0b110000 (48) |
0b1100 >> 2 |
右移 2 位 | 0b11 (3) |
-8 >>> 2 |
无符号右移 2 位 | 1073741822 |
常见应用场景
- 颜色处理:提取 RGB 分量并组合颜色值。
- 权限控制:用位掩码表示、检查和组合权限。
- 性能优化:在可行场景下用位运算替代部分乘除操作。
- 标志位管理:高效完成标志位设置、清除和切换。
常见问题
计算结果是否准确?
本工具基于常见规则进行计算,建议在正式业务场景中结合实际规则复核。
输入数据会上传服务器吗?
不会,计算与处理默认在浏览器本地完成。