社区
C++ 语言
帖子详情
关于浮点数转换
weicheichei
2010-11-24 03:42:29
我是串口接收了一组unsigned char类型的16进制数组比如说{0x40,0x90,0x00,0x00}在VC中怎么去实现转换成浮点数字啊,16进制的数是按照IEEE标准754格式传进来的,并且要显示出来再一个框中,大家能不能给点思路啊,或者给我个程序参考下啊,谢谢,非常感谢啊。
...全文
122
6
打赏
收藏
关于浮点数转换
我是串口接收了一组unsigned char类型的16进制数组比如说{0x40,0x90,0x00,0x00}在VC中怎么去实现转换成浮点数字啊,16进制的数是按照IEEE标准754格式传进来的,并且要显示出来再一个框中,大家能不能给点思路啊,或者给我个程序参考下啊,谢谢,非常感谢啊。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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);
浮
点数
转换
工具.rar
浮
点数
转换
工具,非常好用。比较简单吧,解压就可以用,不用安装。方便程序测试开发验证,小巧稳定,一直在用
C程序中用union实现
浮
点数
与IEEE格式
转换
1. 问题的提出 笔者在系统开发中采用RS485实现单片机与外围设备的通信,通信采用通用串行接口协议(USS),按照串行总线的主从通讯原理来确定访问的方法。USS规定了一套严格的通信规则,关于
浮
点数
参数值,USS规定采用IEEE-754格式进行传送。例如,
浮
点数
50.0,在通信中传送的是它的IEEE-754格式,即4字节的十六进制424800H.因此,单片机的C程序,在发送或接收外围设各的参数值时,需要解决如何实现
浮
点数
与IEEE格式
转换
的问题。 2.IEEE
浮
点数
的格式 在计算机中,
浮
点数
的存储均采用4字节的IEEE-754格式。例如,
浮
点数
50.0的IEEE表示形式如下:二进制: 其中,最高位表示符号,"1"表示负,"0"表示正;第23~30位表示阶码。注意:阶码是以2为底的指数再加上偏移量127.第0~22位是尾数部分。尾数的整数部分永远为1,因此不予保存,但它是隐含存在的。一个
浮
点数
计算式为: 例如,前面绘出的
浮
点数
的表示形式中,s=0,n=132,m=(1/2+0/4+0/8+1/16+0/32+……),则计算结果为50.0. 3.
浮
点数
与IEEE格式
转换
16进制与10进制
浮
点数
相互
转换
一个自己写的关于16进制与10进制
浮
点数
之间相互
转换
的VB6例程。
关于C语言实现IEEE
转换
.c
C语言实现float
浮
点数
转换
基础电子中的C程序中用union实现
浮
点数
与IEEE格式
转换
1. 问题的提出 笔者在系统开发中采用RS485实现单片机与外围设备的通信,通信采用通用串行接口协议(USS),按照串行总线的主从通讯原理来确定访问的方法。USS规定了一套严格的通信规则,关于
浮
点数
参数值,USS规定采用IEEE-754格式进行传送。例如,
浮
点数
50.0,在通信中传送的是它的IEEE-754格式,即4字节的十六进制424800H.因此,单片机的C程序,在发送或接收外围设各的参数值时,需要解决如何实现
浮
点数
与IEEE格式
转换
的问题。 2.IEEE
浮
点数
的格式 在计算机中,
浮
点数
的存储均采用4字节的IEEE-754格式。例如,
浮
点数
50.0的IEEE表示形式如下:
C++ 语言
64,683
社区成员
250,490
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章