Страница 214 из 382 ПерваяПервая ... 114164204212213214215216224264314 ... ПоследняяПоследняя
Показано с 2,131 по 2,140 из 4292

Тема: Фичи и баги OWEN Logic

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    Цитата Сообщение от Ревака Юрий Посмотреть сообщение
    На самом деле там скорее всего что-то типа 24.99999 при таком раскладе лоджик округляет до 25, а откидывая 0.99999 после TO INT получается 24, это легко проверить в симуляции.
    О том и речь, и capzap доходчиво объяснил причину. . В силу специфики предсавления ОЛ держит в "уме" 24,99999 , а показывает на холсте 25.Хотя математически, то истинное число 25 как не считайте. Причем ошибка возникает не всегда . Стало интересно, по быстрому провел небольшой эксперимент например (float)1,2+08 ->(uint)120000008. (float)4,2+08 ->(uint)419999968 . В результате эта ошибка " кочует" дальше по всей цепочке. И возникает она далеко не всегда. И если бы преобразование это учитывало, то было бы все окейно, но это не так.
    Последний раз редактировалось Sergej_; 12.04.2021 в 12:15.

  2. #2
    Пользователь Аватар для СергейНовосиб
    Регистрация
    23.05.2011
    Адрес
    Новосибирск
    Сообщений
    375

    По умолчанию

    Привет! У меня после обновления ОЛ появился баг: иногда исчезает надписи с экрана, мигает где-то на 0,5-1сек. Закономерности пока не уловил. Все происходит спонтанно.

    Уже на трех ПР200-х это происходит. Последняя версия ОЛ.
    Последний раз редактировалось СергейНовосиб; 09.04.2021 в 12:44.

  3. #3

    По умолчанию

    Цитата Сообщение от Ревака Юрий Посмотреть сообщение
    Странно почему не отображаются знаки после запятой, но смысл такой, если значение например 24,8 после преобразования будет 24, если 25,5 то на выходе 25, я думаю это и наблюдаем.
    Наблюдаем как раз обратное. До преобразования 25, или более , если предположить что не отображается дробная часть (а это не так ,получается ровно25) , после преобразования должно быть 25. а не 24. Это глюк ол ,причем в макросе conv4-20 нет округления, а косяк вылазит после него только.

  4. #4
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,604

    По умолчанию

    это не совсем глюк ОЛ, это общая проблема, но разработчики могли бы учесть такое с константами owen.png
    как только константы окажутся без приведения к типу округление будет равно 25
    owen.png


    такое преобразование решит проблему
    owen.png
    Последний раз редактировалось capzap; 11.04.2021 в 09:06.
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  5. #5
    Пользователь
    Регистрация
    08.01.2019
    Адрес
    Тамбов
    Сообщений
    50

    По умолчанию

    Всем Спасибо! Воспользуюсь примером от capzap.

  6. #6
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,604

    По умолчанию

    Цитата Сообщение от Евений Посмотреть сообщение
    Всем Спасибо! Воспользуюсь примером от capzap.
    возможно хватит просто умножить на 0.5 и конвертировать в целочисленное. Я исходил из того, что число 24.9999 уже отображается в научном формате как 25, поэтому начал с дискретного округления до трех знаков, поэтому код такой сложный
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  7. #7
    Пользователь
    Регистрация
    08.01.2019
    Адрес
    Тамбов
    Сообщений
    50

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    возможно хватит просто умножить на 0.5 и конвертировать в целочисленное. Я исходил из того, что число 24.9999 уже отображается в научном формате как 25, поэтому начал с дискретного округления до трех знаков, поэтому код такой сложный
    Хорошо попробую

  8. #8

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    это не совсем глюк ОЛ, это общая проблема, но разработчики могли бы учесть такое с константами owen.png
    как только константы окажутся без приведения к типу округление будет равно 25
    owen.png


    такое преобразование решит проблему
    owen.png
    Cпасибо, разъяснили . Вам ОВЕН должен. Т.е проблема возникает в 6-7 разряде после запятой, иногда в плюс, иногда в минус, когда в минус, то такая ошибка проявляется при преобразовании. Тут очевидно ,что если нельзя устранить саму причину возникновения ошибки в силу объективных причин, то преобразовать из float в int можно например предварительно округлением в 5 разряде после запятой. Ведь при отображении значений float на холсте так и происходит.И это наверное разработчики ОЛ должны исправить, а не пользователи .
    Последний раз редактировалось Sergej_; 12.04.2021 в 09:28.

  9. #9
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,604

    По умолчанию

    Все не так, в пр используется формат вещественных чисел IEEE 754, а отображение ол написано стандартным средствами и там скорее всего float64 или Double, поэтому и идёт расхождение в представлении числа, а ни как не в самой арифметике. И напомню что это частный случай, если разработчики сделают подобные округления повсеместно, то прога будет работать намного медленнее, а что то сделать в конкретной ситуации этим должен заниматься автор проекта
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  10. #10

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    Все не так, в пр используется формат вещественных чисел IEEE 754, а отображение ол написано стандартным средствами и там скорее всего float64 или Double, поэтому и идёт расхождение в представлении числа, а ни как не в самой арифметике. И напомню что это частный случай, если разработчики сделают подобные округления повсеместно, то прога будет работать намного медленнее, а что то сделать в конкретной ситуации этим должен заниматься автор проекта
    Пока писал ,не видел этого Вашего сообщения, понятно, что дело не в ошибках арифметики, но эта особенность гипотетически может привести к какам -то ошибкам. А этот "частный случай" еще и засечь нужно, автор вопроса скорей всего случайно обнаружил. А если не обнаружил, то как это сказалось бы на результате? может и никак ,а может и сказалось . В описании ОЛ про это ничего нет. Теперь будем хотя бы знать, спасибо.

Страница 214 из 382 ПерваяПервая ... 114164204212213214215216224264314 ... ПоследняяПоследняя

Похожие темы

  1. OWEN Logic v1.7
    от Евгений Сергеевич в разделе Среда программирования OWEN Logic
    Ответов: 404
    Последнее сообщение: 25.08.2020, 15:17
  2. OWEN Logic v1.7
    от Евгений Сергеевич в разделе Программируемые реле
    Ответов: 401
    Последнее сообщение: 28.07.2016, 19:46
  3. OWEN Logic 1.2.0.14b
    от Ельцов Андрей в разделе Программируемые реле
    Ответов: 40
    Последнее сообщение: 21.02.2011, 14:16
  4. OWEN Logic 1.1.0.11b
    от Ельцов Андрей в разделе Программируемые реле
    Ответов: 58
    Последнее сообщение: 12.10.2010, 20:55

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •