十进制值“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' 来解决它。非常狡猾的实现,但现在我知道为什么它不是转换。
我目前正在尝试更改 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' 来解决它。非常狡猾的实现,但现在我知道为什么它不是转换。