AZ Tools

位运算计算器

开发

输入两个整数,即可一次性查看所有常见位运算:AND、OR、XOR、NOT(~A 和 ~B)以及任意位数的左/右移位。每个结果都以二进制(按半字节分组)、十六进制、无符号十进制和二进制补码有符号十进制显示。选择 8、16、32 或 64 位宽,结果会回绕到该大小,因此 NOT 和移位的行为与 C、Rust 或寄存器中完全一致。输入支持十进制、0x 十六进制、0b 二进制和 0o 八进制,负数按二进制补码解释。使用任意精度整数计算,因此 64 位数值保持精确。非常适合嵌入式开发、位标志与掩码、协议解码以及学习位运算的原理。

支持十进制、0x 十六进制、0b 二进制、0o 八进制(允许负数)。

表达式二进制十六进制十进制有符号
A0000 11000x0C1212
B0000 10100x0A1010
A & B0000 10000x0888
A | B0000 11100x0E1414
A ^ B0000 01100x0666
~A1111 00110xF3243-13
~B1111 01010xF5245-11
A << 10001 10000x182424
A >> 10000 01100x0666

使用方法

  1. 在 A 和 B 中输入两个整数(十进制,或带 0x / 0b / 0o 前缀)。
  2. 选择位宽和移位位数。
  3. 在二进制、十六进制、无符号和有符号各列查看每个运算。

常见问题

负数如何处理?
按所选位宽的二进制补码解释 —— 例如 −1 在 8 位下变为全 1(0xFF)。有符号列显示每个结果的二进制补码值。
位宽会改变什么?
它将结果掩码到该位数,这对 NOT 和移位很重要。~12 在 8 位下是 0xF3,在 32 位下是 0xFFFFFFF3,就像 C 中的定长整数或 CPU 寄存器一样。
可以输入十六进制或二进制吗?
可以 —— 十六进制用 0x 前缀(0xFF),二进制用 0b(0b1010),八进制用 0o。普通十进制也可以。
64 位结果精确吗?
精确。计算器内部使用任意精度整数,因此 64 位运算不会像 32 位的 JavaScript 位运算符那样丢失精度。

相关工具