Tag: 石汉明距离

计算ruby汉明距离的最有效方法?

在ruby中,计算两个无符号整数之间的位差(例如汉明距离)的最有效方法是什么? 例如,我有整数a = 2323409845和b = 178264714​​4。 他们的二进制表示是: a = 10001010011111000110101110110101 b = 01101010010000010000100101101000 a&b之间的位差为17 .. 我可以对它们进行逻辑XOR,但这会给我一个不同的整数!= 17,然后我必须迭代结果的二进制表示并计算1的#。 计算位差的最有效方法是什么? 现在,答案是否会改变以计算许多整数序列的比特差异? 例如,给定2个无符号整数序列: x = {2323409845,641760420,509499086….} y = {uint,uint,uint…} 计算两个序列之间的比特差异的最有效方法是什么? 你会迭代序列,还是有更快的方法来计算整个序列的差异?