位运算计算器
输入两个整数,即可一次性查看所有常见位运算:AND、OR、XOR、NOT(~A 和 ~B)以及任意位数的左/右移位。每个结果都以二进制(按半字节分组)、十六进制、无符号十进制和二进制补码有符号十进制显示。选择 8、16、32 或 64 位宽,结果会回绕到该大小,因此 NOT 和移位的行为与 C、Rust 或寄存器中完全一致。输入支持十进制、0x 十六进制、0b 二进制和 0o 八进制,负数按二进制补码解释。使用任意精度整数计算,因此 64 位数值保持精确。非常适合嵌入式开发、位标志与掩码、协议解码以及学习位运算的原理。
—
支持十进制、0x 十六进制、0b 二进制、0o 八进制(允许负数)。
| 表达式 | 二进制 | 十六进制 | 十进制 | 有符号 |
|---|---|---|---|---|
| A | 0000 1100 | 0x0C | 12 | 12 |
| B | 0000 1010 | 0x0A | 10 | 10 |
| A & B | 0000 1000 | 0x08 | 8 | 8 |
| A | B | 0000 1110 | 0x0E | 14 | 14 |
| A ^ B | 0000 0110 | 0x06 | 6 | 6 |
| ~A | 1111 0011 | 0xF3 | 243 | -13 |
| ~B | 1111 0101 | 0xF5 | 245 | -11 |
| A << 1 | 0001 1000 | 0x18 | 24 | 24 |
| A >> 1 | 0000 0110 | 0x06 | 6 | 6 |
使用方法
- 在 A 和 B 中输入两个整数(十进制,或带 0x / 0b / 0o 前缀)。
- 选择位宽和移位位数。
- 在二进制、十六进制、无符号和有符号各列查看每个运算。
常见问题
- 负数如何处理?
- 按所选位宽的二进制补码解释 —— 例如 −1 在 8 位下变为全 1(0xFF)。有符号列显示每个结果的二进制补码值。
- 位宽会改变什么?
- 它将结果掩码到该位数,这对 NOT 和移位很重要。~12 在 8 位下是 0xF3,在 32 位下是 0xFFFFFFF3,就像 C 中的定长整数或 CPU 寄存器一样。
- 可以输入十六进制或二进制吗?
- 可以 —— 十六进制用 0x 前缀(0xFF),二进制用 0b(0b1010),八进制用 0o。普通十进制也可以。
- 64 位结果精确吗?
- 精确。计算器内部使用任意精度整数,因此 64 位运算不会像 32 位的 JavaScript 位运算符那样丢失精度。
相关工具
二进制补码转换器 (8–64 位)
输入十进制、hex、二进制或八进制值,查看其 8/16/32/64 位二进制补码位模式,以及有符号/无符号读法、hex、八进制与反码 — 在浏览器内完成。
转换 0 0
ASCII 码表
256 行 ASCII / 扩展 ASCII 表 — 十进制、十六进制、八进制、二进制,以及控制字符名称。可搜索、可复制。
开发 0 0
进制转换器
在二进制、八进制、十进制和十六进制之间转换数字。
转换 0 0
Hex Dump 查看器
将文本或小文件以 偏移 + hex 字节 + 可打印 ASCII 显示,类似 `xxd` 或 `hexdump -C`。
开发 0 0
格雷码转换器
在十进制、二进制和反射二进制格雷码之间双向转换,可选固定位宽并附 0-7 对照表。
转换 0 0
BCD 转换器(二进制编码十进制)
十进制与 8421 二进制编码十进制互转 — 每位 4 比特半字节、压缩 BCD 十六进制字节、BCD 有效性校验。
转换 0 0