Покинул форум
Сообщений всего: 51
Дата рег-ции: Дек. 2012
Помог: 0 раз(а)
Как известно, что деление это дорогая операция. Как эти дела обстоят в PHP, как интерпретатор проводит эту операцию, хватает мозгов оптимизировать деление?
imya
Отправлено: 15 Июля, 2013 - 08:17:54
Участник
Покинул форум
Сообщений всего: 1472
Дата рег-ции: Сент. 2012 Откуда: Запорожье, Украина
Покинул форум
Сообщений всего: 1472
Дата рег-ции: Сент. 2012 Откуда: Запорожье, Украина
Помог: 19 раз(а)
php.net пишет:
Операция деления ("/") возвращает число с плавающей точкой, кроме случая, когда оба значения являются целыми числами (или строками, которые преобразуются в целые числа), которые делятся нацело - в этом случае возвращается целое значение.
При делении по модулю операнды преобразуются в целые числа (удалением дробной части) до начала операции
Когда нормальный человек, уезжая из дома одевает на жену пояс верности, веб-дизайнер ставит на нее счетчик...
darl
Отправлено: 15 Июля, 2013 - 08:49:34
Новичок
Покинул форум
Сообщений всего: 51
Дата рег-ции: Дек. 2012
Помог: 0 раз(а)
imya пишет:
php.net пишет:
Операция деления ("/") возвращает число с плавающей точкой, кроме случая, когда оба значения являются целыми числами (или строками, которые преобразуются в целые числа), которые делятся нацело - в этом случае возвращается целое значение.
При делении по модулю операнды преобразуются в целые числа (удалением дробной части) до начала операции
Я наверно туплю, но не понял. Здесь рассказывается просто про деление. А как под капотом проходит все это, в самом интерпретаторе. К примеру мне нужно делить в цикле постоянно на X/4, деление это дорогое удовольствие для процессора. Тогда можно деление заменить на умножение х*0,25. Интерпретатор сможет сам это поменять?
imya
Отправлено: 15 Июля, 2013 - 09:08:27
Участник
Покинул форум
Сообщений всего: 1472
Дата рег-ции: Сент. 2012 Откуда: Запорожье, Украина
Помог: 19 раз(а)
darl пишет:
Интерпретатор сможет сам это поменять?
Интерпретатор будет делать то, что вы ему скажете ;)
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.