• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • lcg_value()

    (PHP 4, PHP 5, PHP 7)

    组合线性同余发生器

    说明

    lcg_value(void):float

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

    返回值

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

    参见

    Choose your weapon:
    <?php
    function mt_randf($min, $max)
    {
      return $min + abs($max - $min) * mt_rand(0, mt_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);
    }?>
    
    An elegant way to return random float between two numbers:
    <?php
    function random_float ($min,$max) {
      return ($min+lcg_value()*(abs($max-$min)));
    }
    ?>
    
    I think best example...
    <?php
    $x=0;
    while($x<=5){
    $x++;
    echo lcg_value()+$x."\n";  }
       echo lcg_value()+$x-(2*lcg_value()); echo "\n";
    ?>
    

    上篇:is_nan()

    下篇:log10()