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 轉儲。