Особенности языка mql5, тонкости и приёмы работы - страница 299
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Похоже авто переводчик глючит
Нет, все в порядке -
Forum on trading, automated trading systems and testing trading strategies
Features of the mql5 language, subtleties and tricks
Putnik, 2025.06.25 18:31
It is better to replace a==b with (a-b)==0 , it is better.
ОК, спасибо.
С другого компа зашел, только одна ошибка.
Лучше заменить a==b на (a-b)==0, так будет лучше.
Потому, что прямое сравнение вещественных чисел часто приводит к ошибочному результату. И в связи с этим некоторые бездумно применяют этот способ везде, где надо и где не надо.
А по сути изначальный вариант если и отличается, то совсем незначительно.
Исходя из того, что операционно это будет дешевле. Так сказал учитель по информатике в школе.
Сам я точно не могу сказать, спорить небуду.
Так сказал учитель по информатике в школе
увольнять..
во первых это не быстрее, во вторых не очевиднее для читающего, наконец это дело компилятора такие микро-оптимизации.
ну и под завязку не для всех доменов и классов разрешена (имеет смысл) операция "вычитание". Заменив оператор == на a-b==0 можно сделать программу невалидной
Ведь прямое сравнение вещественных чисел часто приводит к неверным результатам. И из-за этого некоторые люди бездумно применяют этот метод везде, где нужно и где не нужно.
А на самом деле исходный вариант если и отличается, то очень незначительно.
Сравнение
Не знаю что быстрее, но нам также нужна надёжность условий
a = 0.30000000000000004
b = 0.3
Именно поэтому a - b == 0 небезопасно для двоек.
Почему a != b? Потому что ни 0,1, ни 0,2, ни 0,3 не могут быть точно представлены в двоичном виде с типом double (64-битный IEEE 754).
Сравнение
Не знаю что быстрее, но нам также нужна надёжность условий
В данном конкретном примере ещё надёжнее так:
Да собственно и во всех остальных с double числами.