【发布时间】:2020-01-24 16:41:42
【问题描述】:
我试图转换无符号 16 类型的浮点数,但我找不到为此我必须使用哪些函数或对话方法。
例如,我有 3 个十进制数字,这些数字带有这些十六进制值 BD97 >>>>>>> 38.84
3098 >>>>>>> 38.96
8497 >>>>>>>> 38.79
我相信这些是半精度浮点,但不明白如何转换它们。 在这件事上是否有任何身体帮助?
更新 :
对不起,我想我无法解释清楚。我上面写的值来自一种串行总线,但这些值也打印在显示器上。来自串行总线的值来自 Unsigned16(我认为这是特殊的 16 位数据类型)。
例如,当我从总线读取 0xBD97 时,机器显示显示 38.84 或者当我读取 0x3098 时,显示显示 38.96。
有趣的是,我从总线上获得的这些十六进制值似乎与显示的数据无关。所以,我认为这个数据是半精度数据,但我找不到如何转换它。
谢谢
【问题讨论】:
-
你到底在问什么?发布实际代码而不是试图解释它。
-
“在这件事上是否有任何身体帮助?” --> Half-precision floating-point format,否则看起来你是在请求库或代码转储——这是题外话。
-
"我试图转换 ..." --> 发布该尝试的代码。
-
"我试图转换无符号 16 类型浮点数..." 抱歉,但这完全不清楚。无符号 16 可能是
unsigned 16 bit integer但floating point number?转换的目的是什么?
标签: c types floating-point