ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
28 января
1567651 Топик полностью
Vit (Сегодня, 13:35, просмотров: 69) ответил Лaгyнoв на детский вопрос вероятно, но для меня всё это покрыто мраком. Есть целочисленные переменные. Объемы в сантилитрах. К примеру 12345678 сантилитров. Надо преобразовать в переменную float в виде 123456,78 литра. А может и 12345,678 литра, если это было в миллилитрах. По разному будет. Ну а потом полученные 4 байта по стандарту IEEE574 положить (или покласть) в регистр Модбас. Напрягает именно вот это - может быть запятая в разном месте.
Тебе хочется юзать ненормализованные (denormal/subnormal) float-ы. Плохая идея. Но если хоцца ярких эротических впечатлений, то вроде как никто особо не запрещает. В GCC/Clang можно поставить флаг -fno-fast-math или убрать флаги -ffast-math/-funsafe-math-optimizations (буквы в последнем как бы намекают). 

Встречал не раз представление в виде целого (часто полностью совпадающего со значением на экране без учета точки) и масштаба/шкалы, в котором зашифровано положение точки, т.е. было 2 значения для передачи. Ещё есть варианты fixed-point