在 SciLab 中将十六进制转换为浮点数

Posted

技术标签:

【中文标题】在 SciLab 中将十六进制转换为浮点数【英文标题】:Conversion of hex to Float in SciLab 【发布时间】:2016-02-06 04:57:06 【问题描述】:

我正在尝试以十六进制表示 f.ex 读取浮点数

43079A11

这应该给我 135.601822,(类似于这个网站所做的 http://babbage.cs.qc.cuny.edu/IEEE-754.old/32bit.html) 使用 SciLab。 当我尝试使用 hex2dec 函数时,我得到了

hex2dec('43079A11')
ans  =
1.125D+09

我一般不精通 IEEE 和浮点系统,所以请耐心等待。我该怎么做才能产生正确的结果?

【问题讨论】:

我冒昧地将您的答案移到了适当的位置:答案框。是的,所有 Scilab 变量都是双精度的。 【参考方案1】:

[由问题作者撰写。]我找到了使用FloatingPoint package的解决方案:

flps = flps_systemnew("IEEEsingle")
flpn = flps_numbernew ( "hex" , flps , '43079A11')
res = flps_numbereval(flpn)

如果没有包,SciLab 似乎根本无法进行单点精度。

【讨论】:

以上是关于在 SciLab 中将十六进制转换为浮点数的主要内容,如果未能解决你的问题,请参考以下文章

在 Swift 中将半精度浮点数(字节)转换为浮点数

在 Netezza 中将带分数转换为浮点数

在python中将指数形式的数字转换为十进制形式[重复]

Python如何将浮点数作为十六进制转换为十进制

从代表二进制的字符串转换为浮点数

怎么将4字节16进制转化成浮点数