OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2017|回复: 4

4字节16进制如何转换成浮点数

[复制链接]

11

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
195
金钱
195
注册时间
2017-7-26
在线时间
43 小时
发表于 2018-9-19 13:41:03 | 显示全部楼层 |阅读模式
20金钱
如题4字节16进制如何转换成浮点数 如何把44 96 00 00 转换成1200

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

1907

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4106
金钱
4106
注册时间
2018-8-14
在线时间
696 小时
发表于 2018-9-19 13:50:49 | 显示全部楼层
如果你的buf是对齐的话
(float)*((u32*)buf);
否则就要
(float)(buf[0]+(buf[1]<<8)+(buf[2]<<16)+(buf[1]<<24));
回复

使用道具 举报

70

主题

6763

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13129
金钱
13129
注册时间
2012-11-26
在线时间
3814 小时
发表于 2018-9-19 13:51:31 | 显示全部楼层
直接用联合体,具体怎么用,自己百度下吧,很简单的方式
回复

使用道具 举报

3

主题

259

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2317
金钱
2317
注册时间
2016-12-2
在线时间
354 小时
发表于 2018-9-19 14:13:25 | 显示全部楼层
[mw_shl_code=c,true]
#include <stdio.h>

int main() {
  unsigned char bData[4] = {0x00, 0x00, 0x96, 0x44};
  float fValue;

  fValue = *((float *)bData);
  printf ("%.2f\n", fValue);
  return 0;
}
[/mw_shl_code]

参考以上代码
不知道是不是您要的答案
4字节资料, 可能需要依实际情况转换一下顺序.
回复

使用道具 举报

29

主题

338

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1181
金钱
1181
注册时间
2018-4-13
在线时间
170 小时
发表于 2018-9-19 19:28:34 | 显示全部楼层
楼主的问题不够清晰,没有描述这4字节数据原来表示的是什么类型的数据,所以回答也不能给出有效的答案。
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-20 04:36

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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