Привет.
Подскажите, как будут сравниваться переменные типа REAL (или LONGREAL)?
Сравнение происходит до какого-то знака?
Там ведь "шумы в хвосте"! Получается, что такое сравнение почти всегда будет FALSE?
Код:IF rN = rM THEN
;
ENDIF
Вид для печати
Привет.
Подскажите, как будут сравниваться переменные типа REAL (или LONGREAL)?
Сравнение происходит до какого-то знака?
Там ведь "шумы в хвосте"! Получается, что такое сравнение почти всегда будет FALSE?
Код:IF rN = rM THEN
;
ENDIF
проверяйте на больше/меньше сравнивать на равенство real это утопия.
У меня проблем не возникает:
Вложение 80018
Надо смотреть на абсолютное значение разницы между переменными.
Сергей0308 а вы не ручками, а добавьте сюда преобразование от датчика какого-нибудь...
Использовал функцию OSCAT_BASIC.DIFFER, а максимальное отличие вычисляю в процентах.
Вложение 80019
можете написать и свою функцию, она умещается в одну строчку abs(a-b) <= max( rel_tol * max(abs(a), abs(b)), abs_tol )
https://peps.python.org/pep-0485/