Как десятичное значение «41000» преобразуется в значение «0,0201» с плавающей запятой? - PullRequest
0 голосов
/ 10 июля 2020

В настоящее время я пытаюсь изменить 32-битное значение с плавающей запятой, однако способ, которым он был реализован, принимает только целочисленные значения UI32 и каким-то образом преобразует его (не может изменить это преобразование) в значение с плавающей запятой и отобразит его. Например, я могу передать 41000, и он будет выводить / отображать 0.0201, хотя в нем хранится до 9 знаков после запятой (на 3 больше). Максимальные и минимальные значения определены в файле .csv, где максимальное значение 131070 (отображается как 0.0627), а минимальное - 0. Значение по умолчанию - 32767, которое отображается как 0.0157.

Я протестировал десятичное / целое число с плавающей точкой с помощью онлайн-конвертеров, но похоже, что это не работает (значение осталось прежним). Похоже, что до получения значения с плавающей запятой могло быть более одного преобразования.

Мой вопрос: какой тип преобразования здесь происходит и есть ли что-то, что я не учитываю?

Любые советы приветствуются!

Изменить: в файле .csv (который содержит эти значения) я также нашел столбец с номером шкалы, и эти значения имеют масштаб 4.79*10^-7, который может использоваться для преобразования вместо преобразования целого числа в число с плавающей запятой

1 Ответ

0 голосов
/ 10 августа 2020

Решил, используя только масштабный коэффициент, чтобы умножить любое целочисленное значение точки на «плавающую точку». Очень хитроумная реализация, но теперь я знаю, почему это не было преобразованием.

...