PHP mt_rand(100, 1000) 这个数值跨度太大了有什么坏处?
mt_rand()使用MersenneTwister算法返回随机整数。我想知道这个随机数值的区间有没规定?我想mt_rand(1000,10000)这样做的后果是什么?...
mt_rand() 使用 Mersenne Twister 算法返回随机整数。
我想知道这个随机数值的区间有没规定?
我想 mt_rand(1000, 10000) 这样做的后果是什么? 展开
我想知道这个随机数值的区间有没规定?
我想 mt_rand(1000, 10000) 这样做的后果是什么? 展开
1个回答
展开全部
RAND在某些平台下(例如 Windows)RAND_MAX 只有 32768。如果需要的范围大于 32768,那么指定 min 和 max 参数就可以生成大于 RAND_MAX的数了,或者考虑用 mt_rand() 来替代之。
很多老的 libc 的随机数发生器具有一些不确定和未知的特性而且很慢。PHP 的 rand() 函数默认使用 libc 随机数发生器。mt_rand() 函数是非正式用来替换它的。该函数用了 » Mersenne Twister 中已知的特性作为随机数发生器,它可以产生随机数值的平均速度比 libc 提供的 rand() 快四倍。
很多老的 libc 的随机数发生器具有一些不确定和未知的特性而且很慢。PHP 的 rand() 函数默认使用 libc 随机数发生器。mt_rand() 函数是非正式用来替换它的。该函数用了 » Mersenne Twister 中已知的特性作为随机数发生器,它可以产生随机数值的平均速度比 libc 提供的 rand() 快四倍。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询