%

2 отговора 130 прегледа
#1

%

Някой от вас дали е попадал на следната "особеност" на оператора %:

$var1 = 42185329457%17523896;
$var2 = 123%45;
$var3 = -65478%64;


От трите променливи на първата се присвоява грешна стойност - отрицателно число (-10815975), вместо правилното 5311785. Любопитното е, че понякога разликата между коректния отговор и този, който връща php е точно равна на делителя, но не винаги - в случая не е така. Грешката се появява понякога, ако делимото е > pow(127,4). Например 4300000000%1752389 се връща съвсем коректно. Пробвах с php 4.3.5, не знам дали при другите версии е така.

Отговор
в отговор на _krez #2

Re: %

[линк]
Числата ти не са в допустимите граници.

----------

Кирилица Forever
Отговор
в отговор на 9-rлaвaтa лaмя #3

Re: %

Мерси. Гледах само в оффлайн версията на хелпа, но там не пишеше нищо.

Отговор