lcg_value

(PHP 4, PHP 5, PHP 7, PHP 8)

lcg_valueGerador congruente linear combinado

Descrição

lcg_value ( ) : float

lcg_value() retorna um pseudo número aleatório nos limites de (0, 1). A função combina duas congruências geradas, com períodos de 2^31 - 85 e 2^31 - 249. O período desta função é igual ao produto de ambos os primos.

Cuidado

Esta função não gera valores criptograficamente seguros, e não deve ser utilizada para fins de criptografia. Se você precisa de valores criptograficamente seguros considere utilizarrandom_int(), random_bytes() ou openssl_random_pseudo_bytes().

Valor Retornado

Um pseudo valor float aleatório no intervalo (0, 1)

Veja Também

  • rand() - Gera um inteiro aleatório
  • mt_rand() - Gerador melhorado de números aleatórios

add a note add a note

User Contributed Notes 3 notes

up
11
rok kralj gmail com
16 years ago
An elegant way to return random float between two numbers:

<?php
function random_float ($min,$max) {
   return (
$min+lcg_value()*(abs($max-$min)));
}
?>
up
12
daniel dot baulig at gmx dot de
14 years ago
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);
}
?>
up
-20
Linndows
7 years ago
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";
?>
To Top