位置: 编程技术 - 正文
推荐整理分享php lcg_value与mt_rand生成0~1随机小数的效果对比分析,希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!
因工作需要使用php生成0~1随机小数,之前写过一篇《php生成0~1随机小数方法》,基于mt_rand()及mt_getrandmax()实现。
后来有网友评论,php原生方法lcg_value()可实现0~1随机小数生成。
lcg_value说明
float lcg_value ( void )
lcg_value() 返回范围为 (0, 1) 的一个伪随机数。本函数组合了周期为 2^ - 和 2^ - 的两个同余发生器。本函数的周期等于这两个素数的乘积。
返回:范围为 (0, 1) 的伪随机数。
输出:
0.....
两种生成0~1随机小数方法进行比较
1.执行时间比较
执行万次基于mt_rand()与mt_getrandmax()算法的运行时间
输出:run time . ms
执行万次lcg_value()的运行时间
输出:run time . ms
执行时间上比较,因为lcg_value()直接是php原生方法,而mt_rand()与mt_getrandmax()需要调用两个方法,并需要进行计算,因此lcg_value()的执行时间大约快3倍。
2.随机效果比较
基于mt_rand()与mt_getrandmax()算法的随机效果
随机效果图:
lcg_value()的随机效果
随机效果上比较,可以看出使用mt_rand()与mt_getrandmax()算法生成的随机效果较乱序,随机效果比lcg_value()较好。
总结:lcg_value()执行速度快,但随机效果不及基于mt_rand()与mt_getrandmax()算法实现。
以上这篇php lcg_value与mt_rand生成0~1随机小数的效果对比分析就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持积木网。
php生成0~1随机小数的方法(必看) Javascript生成0~1随机小数的方法可以调用自带的Math.random();例如:scripttype="text/javascript"document.write(Math.random());//0./scriptphp中有rand,mt_rand随机方
详谈php ip2long 出现负数的原因及解决方法 php提供了ip2long与long2ip方法对ip地址处理。1、ip2long—将一个IPV4的字符串互联网协议转换成数字格式intip2long(string$ip_address)参数:ip_address一个标准格式的
浅谈php(codeigniter)安全性注意事项 1、httponlysession一定要用httponly的否则可能被xxs攻击,利用js获取cookie的session_id。要用框架的ci_session,更长的位数,httponly,这些默认都配好了。不要用
标签: php lcg_value与mt_rand生成0~1随机小数的效果对比分析
本文链接地址:https://www.jiuchutong.com/biancheng/292594.html 转载请保留说明!上一篇:php str_getcsv把字符串解析为数组的实现方法(php gettext)
下一篇:php生成0~1随机小数的方法(必看)(php生成随机字母数字代码)
友情链接: 武汉网站建设