You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

疑问:如何将16位二进制数据解包为高精度浮点数?(Python场景)

16位二进制转高精度浮点数的疑问

我手里有一份二进制格式的数据集,需要转换为十进制/浮点数。目前用Python实现时,通常用两种方法:要么用Python的struct模块,要么通过*位移位(bit shifting)和按位或(OR'ing)*操作。

举个例子,我有一个*小端序(little endian)*的两字节数组[67,1],执行以下代码:

print(struct.unpack('<H', bytes(byte_array))[0])

或者:

byte_array[1] << 8 | byte_array[0]

两种方式都能得到正确结果323。

但厂商提供的应用读取同一份原始数据时,数值表示却不同。比如其中第二个数值显示为-4.56,但我用上述代码得到的结果却是-5。我想知道,他们是如何将16位数值解包为高精度浮点数的?

内容的提问来源于stack exchange,提问作者jgauthier

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 19:37:11