在线位运算计算器
对两个整数施加 AND、OR、XOR、NOT 和位移运算,并以二进制、十六进制、十进制和八进制读取结果——在你的浏览器中用 BigInt 计算。
位运算计算器完全在你的浏览器中运行。你输入的整数以及每一个 AND、OR、XOR、位移和 NOT 结果都在你的设备上计算,绝不会发送到 ArrayKit 或任何服务器。
打开进制转换器
关于 位运算计算器
位运算计算器对两个整数施加 AND、OR、XOR、NOT 以及三种位移运算符,并一次性以二进制、十六进制、十进制和八进制显示每个结果。用你习惯的任意进制输入每个操作数——十进制、十六进制(0xff)、二进制(0b1010)或八进制(0o17)——并读回一个分组的逐位视图,它会将操作数逐列对齐,让你能准确看到哪些位发生了翻转。由于它用 BigInt 计算,像 1 << 40 这样的左移会给出精确的 1099511627776,而不会像 JavaScript 自带的运算符那样在 32 位处溢出。它专为嵌入式开发者、驱动和协议编写者,以及任何解读寄存器标志或权限掩码的人而打造。每个操作数和结果都留在你的浏览器中。
功能特性
- 计算 AND、OR、XOR、NOT,以及左移、算术右移和无符号右移
- 以十进制、十六进制、二进制或八进制输入操作数,或让 0x/0b/0o 前缀来判定
- 每个结果都以二进制(按半字节分组)、十六进制、十进制和八进制并排显示
- 堆叠的逐位视图将两个操作数与结果对齐,让翻转的位一目了然
- BigInt 运算意味着位移和大数值绝不会越过 32 位边界而溢出
- 在 32 位和 64 位视图之间切换,用于无符号位移和补码输出
- 负数和 NOT 结果以整洁的补码十六进制和二进制显示
- 一键复制结果的任意进制
如何使用 位运算计算器
- 选择一种运算——AND、OR、XOR、NOT,或某种位移(<<、>>、>>>)
- 输入值 A,然后输入值 B 或位移量(NOT 仅使用 A)
- 选择输入进制,或保持「自动」以识别 0x、0b 和 0o 前缀
- 以二进制、十六进制、十进制和八进制查看结果,并复制你需要的进制
示例
输入
A = 12
B = 10
op = AND
输出
BIN 1000
HEX 0x8
DEC 8
OCT 0o10
12(1100)AND 10(1010)只保留共有的位,得到 8(1000)。
常见错误与故障排除
- 在另一个工具里,左移返回了一个小得出奇的数。 — 那个工具很可能用的是 32 位整数,其中 1 << 40 会回绕成 256。本计算器使用 BigInt,因此该位移会保持其完整值 1099511627776。
- 对正数取 NOT 显示为负的十进制数。 — 这是正确的:在补码中按位 NOT 等于 -(n+1),因此 NOT 5 是 -6。请查看 HEX 或 BIN 行,以在所选位宽下查看翻转后的位模式。
- 对负数做无符号右移(>>>)看起来不对。 — >>> 会相对于位宽用零填充。-1 会先变成全 1,因此在 32 位下 -1 >>> 28 为 15。切换到 64 位位宽即可改为在 64 位内进行位移。
- 操作数被判为无效而遭拒绝。 — 让数字与进制相匹配:十六进制允许 0-9 和 a-f,二进制只允许 0 和 1。在「自动」模式下加上 0x/0b/0o 前缀,或用切换按钮明确指定进制。
常见问题
- 为什么这个位运算计算器使用 BigInt 而非 32 位整数?
- JavaScript 的位运算符会把操作数强制转换为 32 位有符号整数,因此 1 << 40 会溢出为 256,大数值会丢失其高位。用 BigInt 计算能让每个结果都保持精确,无论数字或位移有多大。
- 在计算器中 >> 和 >>> 有什么区别?
- >> 是算术右移,会保留符号位,因此 -8 >> 1 为 -4。>>> 是逻辑(无符号)右移,会在所选的 32 位或 64 位位宽内用零填充高位,因此 -1 >>> 28 为 15。
- 为什么 NOT 5 显示为 -6?
- 按位 NOT 会翻转每一个位,在补码中这等同于 -(n+1)。因此 NOT 5 的十进制是 -6。查看 HEX 和 BIN 行,即可看到补齐到你所选位宽的取反位模式。
- 我可以混用十六进制、二进制和十进制操作数吗?
- 可以。明确设置输入进制,或保持「自动」并为每个值加上 0x、0b 或 0o 前缀。工具会解析两个操作数、施加运算符,并将结果一并以全部四种进制呈现。
- 我该如何读取负数结果的十六进制或二进制?
- 负数结果以所选位宽的补码显示,因此 -6 在 32 位十六进制中读作 0xfffffffa。十进制行始终保持有符号且精确;若需要更宽的位模式,请切换到 64 位。
- 32 位与 64 位的位宽设置会改变什么?
- 位宽控制无符号右移在何处用零填充,以及负数或 NOT 结果的补码十六进制、八进制和二进制使用多少位。十进制值以及正数的逻辑 AND/OR/XOR 不受影响。
相关工具
- 进制转换工具 — 在二进制、八进制、十进制和十六进制之间转换整数。
- IEEE 754 转换器 — 十进制与 32/64 位 IEEE 754 互转,显示符号、指数与尾数位。
- 文本转二进制转换器 — 在浏览器中把文本转成二进制、HEX 或十进制字节并解码回来。
- 哈希生成器 — 通过 Web Crypto API 生成 SHA-256 / SHA-1 / SHA-384 / SHA-512。
- Base32 编码器 / 解码器 — 在浏览器中把文本编码为 RFC 4648 Base32 并解码回来。
- 罗马数字转换器 — 数字与罗马数字双向转换,支持上划线记法。
全部 ArrayKit 工具