为什么这个xor操作归零?
mysql> select 17246357237183571361 xor 13175113390712773921;
+-----------------------------------------------+
| 17246357237183571361 xor 13175113390712773921 |
+-----------------------------------------------+
| 0 |
+-----------------------------------------------+
答案 0 :(得分:6)
这不是按位操作,而是逻辑操作。见http://dev.mysql.com/doc/refman/5.0/en/logical-operators.html
所以归结为1 xor 1
答案 1 :(得分:2)
长颈鹿船长的回答是正确的,但知道你可以编写以下内容让MySQL在操作数上执行按位异或,这很有用:
mysql> select 17246357237183571361 ^ 13175113390712773921;
结果将是6449217728581286016.
我需要这个来确定2个感知哈希(类似的图像搜索)的汉明距离,这很容易通过这条线来完成
BIT_COUNT(pHash1 ^ pHash2)
也许其他用户可以从中获利: - )