Добро пожаловать, Гость
Логин: Пароль: Запомнить меня

Как быть с вычислениями?
(1 чел.) (1) гость
  • Страница:
  • 1

ТЕМА: Как быть с вычислениями?

Как быть с вычислениями? 6 года, 4 мес. назад #1

  • ARV
  • Сейчас на сайте
  • Администратор
  • Постов: 572
  • Репутация: 22
после длительных раздумий и под влиянием советов решил все-таки отказаться от float в расчетах - так и быстрее, и компактнее код. решил все считать в формате с фиксированной точкой, т.е. берется за основу long, но все реальные значения умножаются на 1000 (либо считаются в тысячных долях), т.е. как бы имеем три знака после запятой.

все бы хорошо, да вот встал перед проблемой переполнений. получается, что максимальное положительное число может достигать 2147483647 или в нашей нотации с фиксированной точкой 2147483.647. это означает, что результат любой арифметической функции не должен превышать это значение, иначе будет не вычисления, а бред. никак не могу придумать, как именно контролировать возможные переполнения...

есть какие-то идеи?
я не ленивый, я энергосберегающий...
Тема заблокирована.

Re: Как быть с вычислениями? 6 года, 4 мес. назад #2

  • md5sum
  • Вне сайта
  • Разработчик проекта
  • Постов: 36
  • Репутация: 1
Первый вариант - ограничить размерность констант. Например 9999.999
Как я уже писал: остальные переменные (АЦП, температура, состояние порта) фиксированной длины, и самая длинная - значение АЦП.
Пока не могу придумать (воображения не хватает) при каких условиях (реальных, а не вымышленных) может получиться переполнение.
Тема заблокирована.

Re: Как быть с вычислениями? 6 года, 4 мес. назад #3

  • ARV
  • Сейчас на сайте
  • Администратор
  • Постов: 572
  • Репутация: 22
ну... не знаю... в вычислениях могут быть какие-то умножения на коэффициенты...

что ж, просто забить на эту проблему? дескать, не будет переполнений - да и точка?
я не ленивый, я энергосберегающий...
Тема заблокирована.

Re: Как быть с вычислениями? 6 года, 4 мес. назад #4

  • md5sum
  • Вне сайта
  • Разработчик проекта
  • Постов: 36
  • Репутация: 1
Ну, не забить... А скажем - отложить решение до возникновения переполнения, в реальных условиях...
Тема заблокирована.

Re: Как быть с вычислениями? 6 года, 4 мес. назад #5

  • ARV
  • Сейчас на сайте
  • Администратор
  • Постов: 572
  • Репутация: 22
вопрос лишь в том, как в реальных условиях это переполнение проявится...
я не ленивый, я энергосберегающий...
Тема заблокирована.

Re: Как быть с вычислениями? 6 года, 2 мес. назад #6

  • GYUR22
  • Вне сайта
  • Разработчик проекта
  • Постов: 12
  • Репутация: -1
Не совсем согласен насчет флоата...
например захочется пид сделать - а у интегральной части приращение очень маленькое будет
что тогда
Да и нормально аврки на полной частоте флоат жуют -главное использовать где надо
Тема заблокирована.
  • Страница:
  • 1
Время создания страницы: 0.07 секунд