为什么drand48()和srand48(int seed)的名字中的数字是48?

时间:2012-02-14 19:25:30

标签: c random

我正在使用这些功能,只是想知道;为什么他们最后有48?我试着搜索一下但似乎找不到任何东西。这是数学还是历史?

1 个答案:

答案 0 :(得分:7)

来自srand48(3)的手册页:

  

描述

     

这些函数使用线性同余算法和48位整数运算生成伪随机数。

     

[...]

     

根据线性同余公式生成一系列48位整数Xi,所有函数都起作用:

     

Xn + 1 =(aXn + c)mod m,其中n> = 0

     

参数m = 2 ^ 48,因此执行48位整数运算。