Ben / dev / urandom almak bayt ama bir şey kullanarak rastgele yüzen oluşturmak için çalışıyorum. Şu anda benim en iyi fikir gibi bir şey yapıyor platformu hassasiyet almak için:
$maximumPrecision = strlen('' . 1/3) - 2;
ve daha sonra bir döngü içinde $ maximumPrecision söyler sayısını 0-9 bir dize oluşturmak. Hassas 12 ise Examle için, ben 12 rasgele sayılar üretmek ve bunları birleştirmek istiyorum. Ben çirkin bir fikir olduğunu düşünüyorum.
Güncelleme: Bu mantıklı mı?
$bytes =getRandomBytes(7); // Just a function that returns random bytes.
$bytes[6] = $bytes[6] & chr(15); // Get rid off the other half
$bytes .= chr(0); // Add a null byte
$parts = unpack('V2', $bytes);
$number = $parts[1] + pow(2.0, 32) * $parts[2];
$number /= pow(2.0, 52);