来自stdlib.h的rand有多糟糕?

时间:2011-07-28 17:07:04

标签: c++ random std gsl boost-random

我正在使用C ++进行蒙特卡罗模拟,我使用Boost进行随机数。我也使用过GSL。但事实证明,随机数生成是我最大的运行时效率低下因素之一,所以我刚开始使用来自rand()的好cstdlib

我在模拟中冒险使用随机数属性有多糟糕?我使用大约10 ^ 6或10 ^ 7个随机数样本。

1 个答案:

答案 0 :(得分:0)

有两个问题:(1)因为RAND_MAX仅保证至少为32767,可能没有太多可能的值(对于某些应用程序来说不一定是坏的),以及(2)实施不佳。

如果您需要所谓的安全随机数生成器,则需要查看其他位置。但对于许多应用来说,rand()就足够了。

解决您的疑虑的博客文章是http://eternallyconfuzzled.com/arts/jsw_art_rand.aspx