Hex 按位对比 / Diff

这是 Hex 按位对比 / Diff 工具。XOR 是翻了哪些位的掩码,汉明距离是不同的位数。8 位下 0x3C 对 0x3E 只差 1 位,掩码 0x02。

示例,点色块填入

点 A 或 B 的格子翻转这一位。红圈标出不同的位。

A

B

XOR

有变化的 hex 半字节会画圈。

点一下即可复制

批量(一行一个或逗号分隔)

一行一对:0x3C 0x3E 或 3C,3E。填示例会载入三行,表里给出汉明距离和 XOR。

这是 Hex 按位对比 / Diff 工具

比较同一位宽的两个整数,标出哪些位变了。XOR 是不同位的掩码,汉明距离是掩码里 1 的个数。8 位下 0x3C 对 0x3E 距离 1,掩码 0x02。0x10 对 0x01 距离 2,相减却是 15。HEX、XOR、Hamming 这些标识符不翻译。这不是 Hex 位运算计算器(AND/OR/NAND 和移位),不是两个文件的 Hex 转储,也不是 文本对比。

如何使用

  1. A、B 可填 Hex / Decimal / Binary。位宽可选自动、4、8、16、32、64。自动按较大的数落到 8/16/32/64。
  2. 红圈标出 A、B 和 XOR 行里不同的位。点 A 或 B 的格子可翻转。交换 A / B 对调两个框。
  3. 卡片给出汉明距离、相同位数、相似度、只在 A 置位、只在 B 置位。有变化的 hex 半字节会画圈。不同位编号从右边数(最低位 = 0):0x3C 对 0x3E 是 bit 1。
  4. 显示示例是 0x3C 对 0x3E。另外还有 0x10 对 0x01、0xFF 对 0x00(距离 8)、0xAA 对 0x55(距离 8)、0xF 对 0x1F(8 位距离 1)。复制结果复制 XOR 的 hex 掩码。
  5. 批次一行一对(空格或逗号)。表按当前位宽列出每对的汉明距离和 XOR。

注意事项

数值按位宽截断,短的 hex 左边补 0。汉明距离 1 就是只翻了一位。相似度是相同位数除以位宽。若要把 XOR 当运算和其他门一起看,用 Hex 位运算;看整段缓冲区用 Hex 转储。

用在哪里

  • 寄存器 dump:是只翻了一个标志,还是好几位一起动了。
  • 两段本该相同的校验或哈希前缀——汉明距离 0 表示按位完全一样。

常见问题

和相减一样吗?

不一样。0x10 对 0x01 相减是 15,但只有两位不同(汉明 2,掩码 0x11)。

为什么 8 位下 0xF 对 0x1F 只差一位?

两边都补成 00001111 和 00011111。没有同一位宽就没法比。

能比两个文件吗?

这里只贴短 hex。看一整段缓冲区请用 Hex 转储。