Hex 位运算计算器

这是 Hex 位运算计算器。A、B 可填 hex / 十进制 / 二进制,选 AND、OR、XOR、NAND、NOR、XNOR、NOT、SHL、SHR、ASR,结果同时给出 hex、十进制和二进制。8 位下 0xB7 AND 0x0F 是 0x07。

点 A 或 B 的格子翻转这一位。

A

B

结果

点一下即可复制

同一组 A、B 的 AND、OR、XOR、NAND、NOR、XNOR、NOT

真值表(点一行填入 A、B)

ABANDORXORNANDNORXNORNOT A
000001111
010111001
100111000
111100010

示例,点色块填入

这是 Hex 位运算计算器

对两个整数做 AND、OR、XOR、NAND、NOR、XNOR、NOT、SHL、SHR、ASR,同一结果给出 hex、无符号十进制、有符号十进制和按半字节分组的二进制。位宽可选自动、8、16、32、64。8 位下 0xB7 AND 0x0F 是 0x07,0xCC AND 0xAA 是 0x88,0x2E AND 0x4A 是 0x0A。AND、OR、XOR、NAND、NOR、XNOR、NOT、SHL、SHR、ASR、HEX 这些标识符不翻译。

如何使用

  1. 填 A、B。每个框可单独选 Hex / Decimal / Binary。0x、0b 可带可不带。
  2. 选运算和位宽。自动会按较大的操作数落到 8/16/32/64。无符号 / 有符号只影响十进制怎么读、怎么显示,位模式仍是补码。
  3. 点 A 或 B 的格子翻转这一位。结果行不能点。红圈标出和 A 不同的位。
  4. 色块复制 hex / 二进制 / 十进制。汇总表列出同一组输入的 AND 到 NOT,点一行切换运算。真值表会把 0/1 填进 A、B,位宽 8。
  5. 显示示例是 8 位 0xB7 AND 0x0F → 0x07。另外还有 0xCC AND 0xAA、0x2E AND 0x4A、XOR、NOT 0xCC、0x80 SHR 4。

注意事项

数值按位宽截断。移位数量大于等于位宽时按 0。逻辑 SHR 左边补 0;ASR 补符号位:8 位 0x80 SHR 4 是 0x08,ASR 是 0xF8。NAND 是 NOT(AND),NOR 是 NOT(OR),XNOR 是 NOT(XOR)。这不是 Hex 按位对比 的汉明距离,也不是 补码 的分步讲解。

用在哪里

  • 标志位、寄存器:保留这些位、置这些位、翻转这些位。
  • 从日志里的 hex 核对半字节、权限位或打包字段。

常见问题

为什么改成 64 位,NOT 就不一样?

NOT 会翻遍整个位宽,前面补上的 0 都会变成 1。NOT 0x0F 在 8 位是 0xF0,32 位是 0xFFFFFFF0。

SHR 和 ASR 差在哪?

SHR 是逻辑右移,高位补 0。ASR 是算术右移,高位复制原来的符号位,负数模式仍是负数。

能填十进制或二进制吗?

能。在 A 或 B 下面改格式。格子和三个结果框会一起更新。