Небольшое непонимание в языке Lua.
У меня возникла проблема в понимание результата даного кода:
a = -20+12.7; // здесь в переменную а записывается -7,3
b = a + 7.3; // здесь должен получится 0 ( но ноль не получается)
c = -7.3 +7.3; // и здесь должен быть 0
print(b);
print©;
Но вот результат вывода:
-8.8817841970013e-16
0
Кто может обьяснить в чем проблема и как решить данную проблему?
78 |
Читайте на SMART-LAB:
Контроль позиций в OsEngine по типам сигналов: SignalTypeOpen и SignalTypeClose. Видео
В этом видео разбираем, как отмечать позиции по разным типам сигналов в OsEngine с помощью полей SignalTypeOpen и SignalTypeClose . Мы...
Пересматриваем лучшие моменты 2025 года
😎 Как выглядит Северный морской путь с палубы электрохода, как чемпион по баскетболу оказался в шахте и какая должность позволяет остановить целое...
Как с умом воспользоваться нашей скидкой?
Сейчас мы сохраняем возможность обучаться по сниженной цене, понимаем текущую экономическую ситуацию. В ближайшее время стоимость обучения...
Стратегия 2026. Часть I: извлекаем правильные уроки из ошибок 2025
Those who cannot remember the past are condemned to repeat it - © George Santayana, 1905
В начале 2026 года у нас на руках стратегии 13...
a = -20.0+12.7;
double a;
Проблема у вас может возникнуть, только если вы начнете сравнивать b с нулем:
if(b == 0)… чего в программировании при использоваини вещественных чисел делать никогда не следует. Нужно писать, например
if abs(b) < 10e-8
Довольно странно, что Вы только сейчас узнали об этой проблеме: в школе/университете при написании циклов на Basic Вы были просто обязаны попасть на эту ошибку