Форум : Оборудование производства НПО "Тепловизор"

Название : Архивы ВИС.Т Modbus

 Alexey02 :

11.3.12 20:53
 Здравствуйте!

Решили прочитать архивы с ВИС.Т Modbus, столкнулись с проблемой - расчеты нарастающих значений массовых расходов(заголовок архива) не совпадают со значениями массовых расходов в архивных записях(часовые записи).

За время измерения были прочитаны значения:
время G0(заголовок архива) dG0(расход за 1 час)
12:00 175024,906250 7,221
11:00 175017,671875 7,238
10:00 175010,437500 7,293

175024,906250 - 7,221 = 175017,685 != 175017,671875

Мы считаем во float, возможна наша проблема кроется здесь - проверяем в данный момент.

Или такая формула расчета неверна? Если так, то подскажите - как производится данный расчет.

 CH :

11.3.12 22:39
 Да, разбирайтесь с float.
Значения нарастающего итога 175024,906250 / 175017,671875 / 175010,437500 уже неверны, поскольку в них должно быть столько же значащих разрядов после запятой, как в значениях почасовых записей (3). Разряды с 4 по шестой явно указывают на ошибку преобразования в число с плавающей запятой.
Опять же, если float, который вы используете, имеет разрядность 32 бита (точность около 7 разрядов), он не подходит для работы с такими большими числами.

© NegaSoft co., 2005
http://www.teplovizor.ru

URL этой темы
http://www.teplovizor.ru/forum/viewtopic.php?topic_id=218&forum=1