| -_krc_- |
Post
#1
|
|
Goście |
Wierzcie lub nie ale wyswietla mi wynik "FFFFFFFF". Nie mam kompletnie pojecia co jest nie tak.. moze jakies typy zmiennych trzeba ustawiac.. help! ---------- Prosze uzywac [ php ] dla kodu php -- dr_bonzo |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%)
|
No i dziala dobrze. Haha, dlaczego? :
Bo max wartosc dla inta to 2mld (dokladnie to 2147483647 -- http://pl.php.net/manual/en/language.types.integer.php) Tworzac inta poprzez $z = 0xFFFFFFFF; przypisujesz mu wartosc -1 (patrz system U2 -- http://pl.wikipedia.org/wiki/Kod_uzupełnień_do_dwóch ), bo int w php jest znakowany -- 32 bity na inta daja ci zakres od -2147483648 do +2147483647. Dla 4mld php skonwertuje inta do floata, ale konwwertujac go recznie do inta otrzymujesz "oczekiwane" -1:
% modulo stosuje sie dla liczb calkowitych, czyli php skonwertuje oba skladniki do integera przed obliczeniem modulo 0xFFFFFFFF --> -1 0x525549DB --> 1381321179 i wykonujesz dzielenie modulo: -1 % 1381321179 iloraz = 0, reszta -1 -1 w zapisie HEX to oczywiscie.... 0xFFFFFFFF (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) []ckd Nie uzywaj tak wielkich liczb lub uzyj klas obslugujacych wielkie liczby. |
|
|
|
_krc_ modulo 17.02.2006, 17:34:06
Guest dzieki za wyjasnienie, niestety duzych liczb nie m... 17.02.2006, 18:41:43
dr_bonzo Chodzilo mi o cos takiego:
http://pear.php.net/pac... 17.02.2006, 18:45:18
Guest ok tutaj jest kawalek kodu w asm (oryginal pisany ... 17.02.2006, 19:10:34
_krc_ ups sorx za brak tagow zapomnialem o tym, nastepny... 17.02.2006, 19:11:47
dr_bonzo Zarejestruj sie -- temat zostanie przeniesiony do ... 17.02.2006, 20:22:29
_krc_ ok temat mozna juz przeniesc.. 17.02.2006, 20:47:28
dr_bonzo Ha!
[PHP] pobierz, plaintext <?phpfunction... 18.02.2006, 01:14:16
_krc_ ehh od dzisiaj jestes moim osobistym guru
tez ... 18.02.2006, 08:59:52 ![]() ![]() |
|
Aktualny czas: 30.12.2025 - 15:15 |