Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Точно старческий маразм превалирует... Прошу простить, к теме не относится.
Прсто долго не слышно было - перезд мешал?
;)
Поскольку вопрос задан не из-за желания поспорить, а исходя из необходимости решения реальной задачи,
Можно узнать, какой реальной задачи? Где потом используется результат этого вычисления?
Я и сам пользуюсь этой функцией, но у меня еще не было реальных задач, столь чувствительных к результату этой операции. Ну то есть да, некая погрешность в окрестности целочисленного значения результата бывает (ибо функция y=[x] имеет неустранимые разрывы при любом целом аргументе), но она, мягко говоря, некритична для целей применения.
Можно узнать, какой реальной задачи? Где потом используется результат этого вычисления?
Я и сам пользуюсь этой функцией, но у меня еще не было реальных задач, столь чувствительных к результату этой операции. Ну то есть да, некая погрешность в окрестности целочисленного значения результата бывает (ибо функция y=[x] имеет неустранимые разрывы при любом целом аргументе), но она, мягко говоря, некритична для целей применения.
этот модулёк и у меня встретился...
;)
умно, НО
почему тогда результаты MathFloor(15/0.05*0.01) и MathFloor(15*0.01/0.05) отличаются?
Сначала ведь выполняется действие в скобках.
Именно здесь спрятана ошибка разработчиков, насколько я понимаю - в отличии результатов.
Есть что возразить?
И не пишите умное: "Получите "машинное епсилон" для нужного типа данных" или "если хотите детально, то пишите мне на почту".
Детально хочу, и не только я, так что выносите на всеобщее обозрение.
Думаю, многие меня поддержат.
PS. Только, пожалуйста, детально не только почему получен результат 2, а также почему результаты отличаются. Думаю, это будет сложнее! ;)
О "машинном эпсилон" я не Вам писал. Я ж говорил - не поймете.
А почему результаты разные? Элементарно, "на пальцах" будет выглядеть так : Приближения выполняются с недостатком, потому сдвиг на +"машинное епсилон", чтоб не было лишних наводок, это должен быть последний\предпоследний значащий разряд мантиссы - потому индивидуален для каждого типа данных. Для МКЛ это тип дабл, соответственно знак 15\14 ..... Теперь по поводу остального, то есть Ваших вычислений:
Действия выполняются по порядку слева направо.
В первом случае Вы оперируете числами, мантиссы которых могут быть представлены без погрешностей. Это "целое" число 300.0 и 0.01 типы то дабл, но мантиссы точные.
Во втором случае ОБА числа с погрешностью в мантиссах. Естественно Вы получаете результат с большей погрешностью. Хотите подробней - поднимайте курсы по вычислительной математике (или как там это сейчас называется).
Картинка на всяк случай :
Удачи...