谢谢
|
名字
rand,srand-randomnumbergenerator。
同步
#包含
intrand(void );
voidsrand(unsignedintseed;
描述
rand (functionreturnsapseudo-randomintegerbetween0and
RAND_MAX。
the srand (functionsetsitsargumentastheseedforanewsequence
ofpseudo-randomintegerstobereturnedbyrand ().Thesesequences
arerepeatablebycallingsrand () withthesameseedvalue。
Ifnoseedvalueisprovided,the rand (functionisautomatically
seededwithavalueof1。
|
随机数的问题是,如果有种子,包括简单数学运算在内的任何算法都是合理的。
这就像先有鸡和蛋,然后鸡开始下蛋,蛋下鸡一样。 所有的鸡或蛋都是你的随机数。
虽然随机数很难,但最初没有具有随机特性的种子源。
如果没有随机物种,则其产生的所有数都不是随机的。 的源固定算法=固定的结果。
是的。 libc的rand当然也不是真正的随机数。 他的种子是1。 而且产生的随机数的排列是一致的。 如果srand的种子相同,则下一个随机数序列也相同。
intel在815芯片组上不是有硬件随机数发生器吗!
linux现在也支持它。 可以考虑用它来生成真正的随机数。
|
通常调用时间是随机种子