十进制值“41000”如何转换为浮点值“0.0201”?

How does the decimal value '41000' convert to a floating point value of '0.0201'?

我目前正在尝试更改 32 位浮点值,但是它的实现方式只接受 UI32 整数值,并将以某种方式将其转换(无法更改此转换)为浮点值并显示它。例如,我可以传入 41000 并且它会 output/display 0.0201 尽管它最多存储 9 位小数(比那多 3 位)。最大值和最小值在 .csv 文件中定义,最大值为 131070(显示为 0.0627),最小值为 0。默认值为 32767,显示为 0.0157.

我已经测试 decimal/integer 使用在线转换器浮动,但它似乎不起作用(值保持不变)。看起来在达到浮点值之前可能需要多次转换。

我的问题是这里发生了什么样的转换,有什么我没有考虑到的吗?

如有任何建议,我们将不胜感激!

编辑:在 .csv 文件(包含这些值)中,我还找到了一个刻度数字列,这些值的刻度为 4.79*10^-7,可用于进行转换而不是整数浮点数转换

通过仅使用比例因子将任何整数点值乘以 'floating point' 来解决它。非常狡猾的实现,但现在我知道为什么它不是转换。