Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] generorwanie liczb losowych od 1 do 2^32
hhg
post
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
 
Start new topic
Odpowiedzi (1 - 2)
lopez86
post
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 .
Go to the top of the page
+Quote Post
hhg
post
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

(IMG:http://forum.php.pl/style_emoticons/default/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
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.08.2025 - 23:08