【发布时间】:2018-06-12 12:47:40
【问题描述】:
我想知道drand48() 的默认种子是什么,即如果我在调用drand48() 之前没有明确使用srand48()?
我查看了glibc 2.23(我目前正在使用的版本)的源代码,我认为它是零,但是如果有人可以验证它,那就太好了。
【问题讨论】:
-
这似乎是一个奇怪的问题。你为什么不想打电话给
srand48()? -
不是我不想叫它。是我忘记这样做了。让我解释一下。
-
我创建了一个使用 drand48() 的程序,我必须使用不同的参数集进行大量实验,其中还有 5 个不同的随机种子。我在没有明确调用 srand48() 的情况下运行了第一组实验,这些实验大约需要 2 周才能完成。显然,我还需要跟踪我用于实验的种子(以及其他参数)。所以,这就是为什么我需要知道默认种子。显然,我更愿意使用我已经得到的结果,节省 2 周的时间,并且只用不同的种子再运行 4 组实验。
-
@IoannisE.Venetis:这应该进入你的问题,而不是 cmets。因为对您而言真正重要的不是
drand48的标准规范,而是您特定的glibc 2.23 实现