我想在 (0 1) 中测试一些“随机”数字。我将使用顽固的测试电池对其进行测试,但我不知道它是否测试 (0 1) 中的数字。所以顽固地测试任何类型的数字,还是只测试整数?
4 回答
Diehard 测试的Wikipedia 条目没有说明测试仅适用于整数,并且一些测试(特别是挤压、运行和重叠和测试)明确地在 [0,1) 上完成。粗略一瞥,其他的似乎都不是整数。
Vanesa:有 1.6、1.7 和 1.8 版本,分别针对 Windows 和 VC++ 6.0 编译。这个版本产生了一个带有测试结果的基本图表,但也允许在二进制文件 32 位十六进制数字或像你这样的位 ascii 文件之间进行选择。
这是下载和使用 VS2008 打开的 URL,您必须更正一些基本错误。我用VC++ 2008编译
http://www.cs.sunysb.edu/~algorith/implement/rng/distrib/
问候,埃德温
我不会去,我和 Vannesa 有同样的问题,我所做的只是下载最新的 NETBEANS IDE 安装 C/C++ 插件下载的 CYWIN http://netbeans.org/community/releases/60/cpp-setup-instructions.html然后从下载源代码并编译和测试它工作正常,所有测试工作即使在一个简单的十六进制数字上,除了重叠排列给我一个错误。
如果有人仍然对答案感兴趣。运行 ASC2BIN.EXE。它描述了你必须做什么。在 diehard 文件夹中还有一个 .doc 文件,它描述了您必须执行的每个步骤。不过,它不是很直观。
原则上:在 0 和 INT_MAX 之间创建 300 万个 32 位整数。创建一个包含这些十六进制形式整数的 ascii 文件,即每个数字 8(!) 个十六进制数字,每行 80 个字符。给它起一个少于 15 个字符的名称。运行 ASC2BIN.EXE,将它提供给您的文件并享受 ;-)。
哦,如果有人在 0,1 上浮动,那么您需要将它们转换为我上面描述的整数(可以乘以 INT_MAX)。是的,顽固分子在某些地方使用浮点数,但它会根据您转换的文件自己创建这些。