Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

точность float

49K
01 декабря 2010 года
RootPass
26 / / 13.03.2010
внешний таймер по циклу дает.
Function check. Complete. works=0.045371
10 итераций.
Function check: Iteration=10. works=0.002161
Iteration=9 works=0.0019560000000001
Iteration=8 works=0.002165
Явно с точностью связано, или $i++ работает по 20 мсек :))

list($usec, $seconds) = explode(" ", microtime());
return array((float)$usec , (int)$seconds);

хранится и вычитается дробная и целая часть отдельно.
BCMath нет возможности использовать.
366
01 декабря 2010 года
int
668 / / 30.03.2005
Вопрос-то в чём?
49K
01 декабря 2010 года
RootPass
26 / / 13.03.2010
ну меня не устраивает, что разница в два раза.
примерно 0.002*10=0.02 а никак не 0.045371.
Как в пхп выйти из ситуации?
13
01 декабря 2010 года
RussianSpy
3.0K / / 04.07.2006
Это в каком месте у вас так получается?
49K
01 декабря 2010 года
RootPass
26 / / 13.03.2010
$timer = new timer();
$timer_local = new timer();

$timer->start();
for($number=1;$number<=10;$number++)
{
$timer_local->start();
#код
print 'Iteration ='.$number.' works='.$timer_local->end();
}
print 'All. works='.$timer->end();

Получается, что 10 итераций работают 0.045371, а каждая по отдельности 0.002.
Мне кажется, единственная возможная причина-что-то не так с точностью float
13
01 декабря 2010 года
RussianSpy
3.0K / / 04.07.2006
Думаю, что пока вы не покажете код класса timer никто вам ничем помочь не сможет
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог