关于浮点数转换

weicheichei 2010-11-24 03:42:29
我是串口接收了一组unsigned char类型的16进制数组比如说{0x40,0x90,0x00,0x00}在VC中怎么去实现转换成浮点数字啊,16进制的数是按照IEEE标准754格式传进来的,并且要显示出来再一个框中,大家能不能给点思路啊,或者给我个程序参考下啊,谢谢,非常感谢啊。
...全文
122 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
weicheichei 2010-11-24
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 iblold 的回复:]
unsigned char buff[4] = {0x40, 0x90, 0x00, 0x00};
float f = *((float*)buff);
[/Quote]
太感谢你们了,做好了,谢谢,我还要一个问题要问,就是我想在浮点数后面加个字母A,因为我这个数字表示的是电流,我是在VC的窗口中显示这个数字,窗口资源ID定义的一个变量,怎么给这个浮点数字后加一个A然后赋给资源变量去显示呢?
iblold 2010-11-24
  • 打赏
  • 举报
回复
unsigned char buff[4] = {0x40, 0x90, 0x00, 0x00};
float f = *((float*)buff);
weicheichei 2010-11-24
  • 打赏
  • 举报
回复
大家给帮个忙啊,刚下了个补丁也装不上啊
weicheichei 2010-11-24
  • 打赏
  • 举报
回复
VC++6.0中的资源ID不能 增加变量,开始还可以不知道哪里设置了,现在不可以了,大家能不能 给帮个忙啊,谢谢了啊
weicheichei 2010-11-24
  • 打赏
  • 举报
回复
谢谢了,我先试一下啊,不会了再问你啊
matrixcl 2010-11-24
  • 打赏
  • 举报
回复
刚搜了一下IEEE标准754,就是float在内存中的标准规格,这样的话就简单多了

假设你的数据时float(4个字节,如果double的话类似,改成8个字节即可)
unsigned char buff[4] = {0x40, 0x90, 0x00, 0x00};
float fNum = 0;
memcpy(&fNum, buff, 4);

64,683

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧