这个工具有问题吗?
关于「Bitwise Calculator Online」
该工具对两个整数执行位级操作:AND、OR、XOR、NOT、左移、右移和算术右移。以十进制、十六进制、八进制或二进制输入数字,计算器在所有四种进制中返回结果以及位模式。
位运算在编程中是基础性的,尤其在低级系统、嵌入式代码、图形、网络和密码学中。它们对紧凑的标志/权限存储也很有用,其中每一位代表对象的一个布尔属性。
该工具非常适合学习位操作的学生、调试掩码和权限的开发人员,以及验证硬件寄存器设置的工程师。显示二进制表示使操作的效果在视觉上一目了然。
如何使用这个工具
如何对两个整数做按位运算
输入 A 与 B
「Integer A」与「Integer B」是两个操作数。工具先用 `Math.trunc` 将其截断为整数再运算——小数会被丢弃。
选择操作
「Operation」可选 `and`(`A & B`)、`or`(`A | B`)、`xor`(`A ^ B`)、`shl`(`A << B`,左移)、`shr`(`A >> B`,右移)。
点击运行
结果只有 `result`——一个 32 位有符号整数。JavaScript 的位运算把两边都强制到 32 位二补码,因此超过 [-2^31, 2^31 − 1] 的值会回绕。
位移以 B 的低 5 位为准
对 `shl`/`shr`,仅取 B 的低 5 位作为移位次数——所以左移 32 与左移 0 等价。这是 JavaScript 的语义,不是 bug。