![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 18.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 68 Pomógł: 3 Dołączył: 7.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
@Up: Kolejność wykonywania działań ma się w najlepsze w PHP.
Problemem jest wielkość liczb. 76561197960265728 nie może być traktowana jako liczba całkowita ponieważ jest za duża (PHP nie ma typu long, który by pomieścił taką liczbę), a więc jest traktowana jako liczba zmiennoprzecinkowa: Liczby zmiennoprzecinkowe mają natomiast to do siebie, że potrafią utracić część danych (zarówno przy operacjach na dużych liczbach jak i ich części ułamkowej), co skutkuje takim właśnie zachowaniem. Cytując za manualem: Cytat So never trust floating number results to the last digit, and never compare floating point numbers for equality. If higher precision is necessary, the arbitrary precision math functions and gmp functions are available. http://www.php.net/manual/en/ref.bc.phphttp://www.php.net/manual/en/ref.gmp.php |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 68 Pomógł: 3 Dołączył: 7.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Człowiek uczy się całe życie
![]() Jednak czemu w takiej sytuacji nawias rozwiązuje problem, skoro i tak część danych powinna być utracona? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 18:24 |