【发布时间】:2013-04-26 23:19:46
【问题描述】:
我在一个编码环境中,我只能访问一些最基本的 c 函数。 #include'ing other lib 是不可行的。
在这种环境中,我可以调用 rand(),它在我的环境中给我一个介于 0 到 32767 之间的随机数(我认为)。下面的代码是否是正确的逻辑来获得一个像 rand() 一样均匀分布的更大的随机数?
rnum = rand() * (32767 + 1) + rand();
【问题讨论】:
-
与 rand 一样均匀分布.. 确实是一个很高的赞誉。你真的不能包含 30 行 BSD 许可代码并包含 arc4random 或其他东西来正确完成工作,或者读取 /dev/random 吗?
-
你应该说出你的环境是什么,但这听起来很垃圾。请告诉我们,您并没有强烈要求这些数字不可猜测!
-
很多嵌入式环境都受限于哪些库可以立即可用。
-
我的环境是 HP LoadRunner。仅当 LoadRunner 使用我的代码(LR 脚本)运行负载测试时,才会编译代码。该脚本可以在任何机器上运行,我不能依赖任何已经有一些 lib 文件可以链接的机器。所有代码都用于负载测试测试系统。