Rand()基于C语言的算法是什么?

我一直在研究Rand()的源代码,但直到现在我还无法弄清楚函数的全貌。

以下是我发现和研究的源代码:

rand.c

random.c

有人可以为我提供一些建议或帮助吗?

太感谢了!

不需要基于任何特定算法,但许多将使用线性同余算法来生成序列。 这基本上改变了种子沿着以下几行:

seed = (seed * multiplier + adder) % modulo 

然后将一部分种子作为随机值传递。 multiplieraddermodulo的值可以变化很大。

Rand基于几个像mac地址这样的东西,它应该在每台机器上都是唯一的。 有几个实现来validation返回的值是“随机的”