【发布时间】:2016-04-07 07:09:55
【问题描述】:
我目前正在使用此代码来随机化一些变量。
srand(time(NULL));
do{vkmhrand = rand ();vkmh = vkmhrand/78;}while(vkmh <= 0 || vkmh > vmax);
vmax 不会超过 415,这意味着如果我让它像 vkmh = rand() 一样简单,大部分随机表将被丢弃,另外我还得到了一些不错的小数以使结果更有趣.
我知道 rand() 并不是最好的随机函数。我只是在想一般来说,尝试尽可能多地使用桌子是个好主意吗?这是浪费时间吗?或者它是否会加剧表格中可能已经存在的任何模式?
【问题讨论】:
-
你说的随机表是什么意思?
-
调用 rand() 函数时使用的值表。
-
表格本身已经是非常好的伪随机了,我无法想象抓取整个表格而不是特定部分会更加随机。显然一个是,但没有理由为什么会是完整的桌子,也许你的小部分可能更随机(偶然)。没有测试就无法真正知道,即使那样,也不足以值得您花时间。
-
@EurekaKN - 它不使用表格 - 请参阅 stackoverflow.com/questions/4768180/rand-implementation
-
@EdHeal - 感谢您的链接。有人告诉我它是从桌子上打电话来的,但我不确定。我问这些问题是因为即使我经常表现出我的无知,但我总能学到一些新东西。