PHP中如何计算两个二进制序列的汉明距离?
hamming('10101010','01010101')
上面的结果应该是8
。
如何实施?
hamming('10101010','01010101')
The result of the above should be 8
.
How to implement it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
无需安装 GMP,这里是任何相同长度的二进制字符串的简单解决方案
without installed GMP here is easy solution for any same-length binary strings
您不需要实现它,因为它已经存在:
http://php.net/manual/en/function.gmp-hamdist。 php
(如果您有 GMP 支持)
You don't need to implement it because it already exists:
http://php.net/manual/en/function.gmp-hamdist.php
(If you have GMP support)
以下函数适用于长度超过 32 位的十六进制字符串(等长)。
The following function works with hex strings (equal length), longer than 32 bits.
如果您没有 GMP 支持,总会出现这样的情况。缺点是它只适用于长度不超过 32 位的二进制字符串。
If you don't have GMP support there is always something like this. Downside it only works on binary strings up to 32 bits in length.
试试这个功能:
Try this function:
您可以借助
substr_count( )
和 中提供的代码PHP 手册上的这条评论。You can easily code your hamming function with the help of
substr_count()
and the code provided in this comment on the PHP manual.尝试:
Try: