Language agnostic 选择最不可能出现在实际数据中的魔法字节

Language agnostic 选择最不可能出现在实际数据中的魔法字节,language-agnostic,byte,probability,magic-numbers,Language Agnostic,Byte,Probability,Magic Numbers,我希望这不是太固执己见;它可能没有一个好的答案 在我正在编写的库的一部分中,我有一个字节数组,该数组由用户提供的值填充。这些值可能是Float、Double、Int(大小不同)等类型的值,比如说,可以使用C语言的二进制表示。这就是我们所能说的关于价值观的全部内容 我有一个优化的机会:我可以用byteMAGIC初始化我的字节数组,然后每当用户提供的值中没有一个字节等于MAGIC时,我可以选择快速路径,否则我需要选择慢速路径 所以我的问题是:选择魔法字节的原则方法是什么,这样它就很可能不会出现在我收

我希望这不是太固执己见;它可能没有一个好的答案

在我正在编写的库的一部分中,我有一个字节数组,该数组由用户提供的值填充。这些值可能是Float、Double、Int(大小不同)等类型的值,比如说,可以使用C语言的二进制表示。这就是我们所能说的关于价值观的全部内容

我有一个优化的机会:我可以用byte
MAGIC
初始化我的字节数组,然后每当用户提供的值中没有一个字节等于
MAGIC
时,我可以选择快速路径,否则我需要选择慢速路径

所以我的问题是:选择魔法字节的原则方法是什么,这样它就很可能不会出现在我收到的(不同编码和分布的)数据中


我想,我的问题的一部分是,是否有像a这样的东西可以告诉我许多种类的数据中字节的分布情况。

从库的应用程序使用的各种输入中捕获真实世界的数据


编写一个快速而肮脏的程序来分析数据集。听起来你想知道的是哪些字节最常被完全排除。所以程序的输出会说,对于每个字节值,有多少输入不包含它

这与最不频繁字节不同。在数据分析中,你需要注意你所测量的数据


使用分析来定义您的体系结构。如果没有字节出现,您可以完全放弃优化。

查看您拥有的各种编码和分布数据,选择频率最低的字节?如果您还没有任何数据,请将magic byte设置为变量并重新编写程序,以便根据接收到的数据中最不频繁的字节每隔一段时间重新选择magic byte?此外,幻数的长度通常超过8位,以增加唯一性的概率。如果出现的次数可以是0,那么它肯定与最不频繁的字节相同。不要把事情过分复杂化。:)@如果零不是分析程序的结果,你必须编写一个全新的程序。这不那么复杂吗?“听起来你想知道的是哪些字节最常被完全排除在外。所以程序的输出会说,对于每个字节值,有多少个输入不包含它。”正确,很好!另外,我想我要求的太多了,以至于在不考虑真实世界数据可能是什么样子的情况下选择这样一个字节。。。