找回密码
 注册
LabVIEW+单片机学习套件全套教程资料下载[免费]LabVIEW论坛精华列表贴USB0816数据采集卡《LabVIEW宝典》
LabWindows/CVI论坛精华贴NET0816以太网数据采集卡RC0210远程设备授权系统 关闭关停锁定打开设备 户外分布式数据采集
NET1624低速高精度以太网数据采集卡WIFI0824SD无线WIFI网络数据采集卡脱机运行 SD存储 小尺寸微型 串口采集远程采集 安卓 手持移动采集 纪录仪
查看: 1777|回复: 6

怎样将32位16进制补码转化为浮点数

[复制链接]
dewer 该用户已被删除
发表于 2005-9-3 01:43:55 | 显示全部楼层 |阅读模式
怎样将从串口采集的32位16进制补码转化为浮点数阿? 请指教!
发表于 2008-6-30 13:36:01 | 显示全部楼层

如何把科学计数法表示的数据转化成小数直接表示呢?

如题:比如2.123256E+3如何变成2123.256?
回复 顶

使用道具 举报

发表于 2008-7-1 07:43:43 | 显示全部楼层
将属性中格式和精度中设为浮点就可以了.
回复 顶

使用道具 举报

发表于 2008-7-1 12:58:17 | 显示全部楼层
是的,右击它,然后从弹花菜单中选择属性中,里面可以更改的!
回复 顶

使用道具 举报

发表于 2010-9-25 17:59:38 | 显示全部楼层
怎样将从串口采集的32位16进制补码转化为浮点数阿? 请指教!
dewer 发表于 2005-9-3 01:43



原理实际挺简单, string(hex dispaly)-->string to byte array--->type cast(SGL)--->output to an indicator.
需要反转变换,把顺序翻转即可。
回复 顶

使用道具 举报

发表于 2010-9-25 18:00:45 | 显示全部楼层
http://www.cpubbs.com/bbs/thread-143647-1-1.html
这是我写的子程序,可以下载使用。
回复 顶

使用道具 举报

发表于 2026-5-28 19:57:04 | 显示全部楼层
在 LabVIEW 中将四字节(32 位)数据转换为单精度浮点数(SGL),核心方法是使用“类型转换”(Type Cast)函数,确保输入为 U32 且输出设为 SGL(单精度浮点数),按 IEEE 754 标准解释字节。

- 若输入是 十六进制字符串(如 `"40490FDB"`):先用 “十六进制字符串至数值” 转为 U32,再用 “类型转换”(右键设输出为 SGL)得浮点数。
- 若输入是 字节数组(如从串口收到的 4 字节):可直接 “类型转换”(输入接 U8 数组,输出设为 SGL),但需注意字节序(大端/小端);若结果异常,插入 “交换字节” 函数(编程 → 数值 → 数据操作)。
- LabVIEW 的 “类型转换” 不进行数值缩放,而是按二进制位强制 reinterpret,等效于 C 语言的 `*(float*)&u32_value`。
- 确保四字节内容符合 IEEE 754 单精度格式,否则可能输出 `NaN`、`Inf` 或无意义值。

无需手动解析符号/指数/尾数,LabVIEW 自动按 IEEE 754 处理。若处理通信数据(如 Modbus),常需先拼接字节、判断字节序,再 Type Cast。
回复 顶

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cpubbs论坛. ( 粤ICP备09171248号 )

GMT+8, 2026-9-28 01:56 , Processed in 0.035324 second(s), 8 queries , Gzip On, File On.

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表