【发布时间】:2015-06-11 07:07:46
【问题描述】:
我想看看是否有办法提高srand(time(NULL)); 函数“刷新”的速度?我知道srand() 会根据时间生成一个新种子(所以每秒一次),但我正在寻找srand() 的替代品,它可以以超过 1 秒的间隔刷新。
当我运行我的程序时,它会产生应有的结果,但种子基本上在一秒钟内保持不变,因此如果程序每秒运行多次,结果将保持不变。
抱歉这么简单的问题,但我在网上的任何地方都找不到专门针对 C 的答案。
【问题讨论】:
-
如果您需要超过秒的精度,请使用从
gettimeofday()派生的一些值而不是time()。这与srand完全正交。 -
The appropriate choice of function will be operating system dependent
-
另外:如果您担心随机数的质量,do not use
rand。 -
从random.org获取随机数据(使用证书认证防止MotM攻击)