首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >生成数,具有高hamming距离

生成数,具有高hamming距离
EN

Stack Overflow用户
提问于 2015-10-16 16:36:15
回答 2查看 3.2K关注 0票数 5

我正在寻找一种快速生成小于2^64的k个非负整数的方法,其中,在基2中,任意两个数字之间的最小Hamming距离尽可能高。

例如,如果我正在寻找k=4数字,并且它们应该小于2^4,那么它们可能是:

0000

0011

1100

1111

最小汉明距离为2。

对于给定的k,有快速生成这些数字的算法吗?我的k是10^4。

或者,一种生成一组数字的算法,其两两之间的汉明距离都大于给定的值,也会工作得很好。

EN

Stack Overflow用户

回答已采纳

发布于 2015-10-16 17:03:17

这里有一个相当琐碎的方法。找到可以表示k个不同数字的最小位数=b。例如,对于k=4,使用b=2位。将64位划分为大小为2的块。对于每个块,给出在可用的2^b >= k中生成的每个数字。

例如,对于k=4数,b位是00、01、10、11,这里有4种可能性:

0000

0101

1010

1111

如果你有c块,那么每个数字在每个块中至少有一个比特中的每个数字是不同的,所以最小保证的hamming分离是c。

您还可以更改每个块中的数字选择,这将产生更多看起来随机的示例,如

0011

0101

1000

1110

票数 4
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33175429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档