文字

lcg_value

(PHP 4, PHP 5)

lcg_value组合线性同余发生器

说明

float lcg_value ( void )

lcg_value() 返回范围为 (0, 1) 的一个伪随机数。本函数组合了周期为 2^31 - 85 和 2^31 - 249 的两个同余发生器。本函数的周期等于这两个素数的乘积。

返回值

范围为 (0, 1) 的伪随机数。

参见

  • rand() - 产生一个随机整数
  • mt_rand() - 生成更好的随机数

用户评论:

[#1] daniel dot baulig at gmx dot de [2010-02-03 19:16:38]

Choose your weapon:
<?php
function mt_randf($min$max)
{
    return 
$min abs($max $min) * mt_rand(0mt_getrandmax())/mt_getrandmax(); 
}
function 
lcg_randf($min$max)
{
    return 
$min lcg_value() * abs($max $min);
}
function 
randf($min$max)
{
    return 
$min rand(0,getrandmax()) / getrandmax() * abs($max $min);
}
?>

[#2] rok kralj gmail com [2007-06-05 08:54:57]

An elegant way to return random float between two numbers:

<?php
function random_float ($min,$max) {
   return (
$min+lcg_value()*(abs($max-$min)));
}
?>

上一篇: 下一篇: