我正在尝试计算两个十六进制字符串之间的汉明距离。首先,字符串从基数 16 转换为基数 10,然后对它们进行异或运算并计算位:
SELECT (CONV('b4124b0d195b2507', 16, 10)) ^ (CONV('eae26aebf1f139f9', 16, 10));
这导致 0。
独立运行
SELECT (CONV('b4124b0d195b2507', 16, 10));
和
SELECT (CONV('eae26aebf1f139f9', 16, 10));
给我我期望的答案(12975515996039881991 和 16925207911220722169)。
我的逻辑缺陷在哪里?