Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> random dla duzych liczb
flashdev
post
Post #1





Grupa: Zarejestrowani
Postów: 812
Pomógł: 117
Dołączył: 2.12.2008

Ostrzeżenie: (10%)
X----


Czy została napisana jakaś funkcja do losowania dużych (tych z poza zakresu php) liczb?

Jeżeli ktoś posiada coś takiego to prosiłbym o udostępnienie.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
flashdev
post
Post #2





Grupa: Zarejestrowani
Postów: 812
Pomógł: 117
Dołączył: 2.12.2008

Ostrzeżenie: (10%)
X----


Problem w tym, że to wcale nie jest tak łatwo znaleźć to o czym piszę.

Pozwolę sobie np. zacytować taki oto kod ze strony:
http://mgccl.com/2007/02/05/a-large-random-number-generator

Cytat
  1. function bcrand($min, $max){
  2. bcscale(0);
  3. if(bccomp($max,$min)!=1){
  4. return 0;
  5. }
  6. $top = bcsub($max,$min);
  7. $length = strlen($top);
  8. $rand ='';
  9. $n = 0;
  10. while(9*$n < $length){
  11. if($length - 9*$n >= 9){
  12. $rand .= mt_rand(0,999999999);
  13. }else{
  14. $rand .= mt_rand(0,str_repeat('9',$length-9*$n));
  15. }
  16. ++$n;
  17. }
  18. while(bccomp($rand,$top)==1){
  19. $rand = substr($rand,1,$length).mt_rand(0,9);
  20. }
  21. return bcadd($rand,$min);
  22. }


Ja osobiście nie nazwał bym tego generatorem liczb losowych, podpisując się pod tym.

Pewnie trudno (dla tak dużych liczb) to sprawdzić doświadczalnie, ale ten kod będzie generował liczby o nierównym rozkładzie statystycznym. Więc to nie jest to co mnie interesuje.

Być może ktoś z forumowiczów już miał podobny problem i napisał coś takiego, lub posiada adres do takiego kodu.
Jeśli tak to ponawiam prośbę o udostępnienie.

Ten post edytował flashdev 7.09.2009, 13:08:15
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 8.10.2025 - 08:11