Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] generorwanie liczb losowych od 1 do 2^32
hhg
post 15.04.2007, 13:23:11
Post #1





Grupa: Zarejestrowani
Postów: 316
Pomógł: 0
Dołączył: 5.07.2006

Ostrzeżenie: (0%)
-----


mam funkcje

  1. <?php
  2.  
  3. for ($i=1;$i<2000;$i++)
  4. {
  5. echo mt_rand(1,pow(2,31)) . "<br />";
  6. }
  7.  
  8. ?>


ktora generuje mi liczby losowe z zakresu od 1 do 2^31 i działa to OK.
Natomiast jezeli wpiszę 2^32 to juz jest problem bo funkcja zwraca tylko jedynki

  1. <?php
  2.  
  3. for ($i=1;$i<2000;$i++)
  4. {
  5. echo mt_rand(1,pow(2,32)) . "<br />";
  6. }
  7.  
  8. ?>



domyslam sie ze jest to kwestia zakresu int-ów i ze powinienem jakos zrobic unsigned zeby zwolnić jeszcze jeden bajt na kolejną potęge dwójki ale nie mam pojecia jak to zrobić.

Jezeli to ja cos mieszam z tymi zakresami, a powinno sie inczej tam uzyskac liczby od 1 do 2^32 dajcie znac prosze

Ten post edytował hhg 15.04.2007, 13:23:33
Go to the top of the page
+Quote Post
lopez86
post 15.04.2007, 13:39:14
Post #2





Grupa: Zarejestrowani
Postów: 187
Pomógł: 0
Dołączył: 24.12.2006

Ostrzeżenie: (0%)
-----


Nigdy nie potrzebowałem tak dużych liczb , znalazłem coś o tym może coś zdziałasz

http://www.mysqlperformanceblog.com/2007/0...nd-portability/

Co nieco tam pisze dokładnie nie czytałem .


--------------------
c++ , javascript , PHP , SQL , MYSQL , CSS - wszystko czego potrzebuje prawdziwy mężczyzna LoL
Go to the top of the page
+Quote Post
hhg
post 17.04.2007, 13:12:54
Post #3





Grupa: Zarejestrowani
Postów: 316
Pomógł: 0
Dołączył: 5.07.2006

Ostrzeżenie: (0%)
-----


a jak myslicie to jest rozwiazanie:
http://pl2.php.net/manual/en/function.bcpow.php

questionmark.gif nie bardzo mi wychodza testy na tym.. i nie wiem czy sie do czegos przyda
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 21.06.2025 - 17:22