浮点数显示问题

[复制链接]
 楼主| wgq5416 发表于 2008-4-10 10:30 | 显示全部楼层 |阅读模式
当plc传给我的从站为浮点数时,我收到的的是符合IEEE754国际标准的四字节形式,但是我想把他通过数码管显示出去,我怎么处理这个译码的过程呢?想了好久没有想明白。比如说在plc端传一个浮点数11.375,我的从站底层收到的就是41 36 00 00(16进制四字节形式)。我在单片机里怎么处理才能正确显示11.375。 (我用的单片机是AT89S52)
与时俱进 发表于 2008-4-11 10:16 | 显示全部楼层

查询浮点数 IEEE754的格式

你根据这个格式去处理就是了。
王紫豪 发表于 2008-4-14 23:23 | 显示全部楼层

re

1.首先转换一下浮点数,大概意思如下;<br /><br />main()<br />{<br /><br />union&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;abc[4];<br />&nbsp;&nbsp;&nbsp;&nbsp;float&nbsp;d;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}x;<br /><br />&nbsp;&nbsp;x.abc[3]=0x41;<br />&nbsp;&nbsp;x.abc[2]=0x36;<br />&nbsp;&nbsp;x.abc[1]=0;<br />&nbsp;&nbsp;x.abc[0]=0;<br /><br />&nbsp;&nbsp;printf(&quot;%f&quot;,x.d);<br />}<br /><br />2.&nbsp;得到&nbsp;x.d&nbsp;这个浮点数后,再用sprintf(buffer,&quot;%f&quot;,x.d),这样缓冲区buffer里面就是&nbsp;“11.37500”啦,哈哈!!<br /><br /><br /><br />楼猪感谢我吧!
王紫豪 发表于 2008-4-14 23:28 | 显示全部楼层

另外提醒楼主,注意cpu大小端的问题

  
 楼主| wgq5416 发表于 2008-4-15 08:40 | 显示全部楼层

太感谢了,支持~受用!向你学习!

  
王紫豪 发表于 2008-4-15 22:33 | 显示全部楼层

请我吃饭,哈哈!

  
ty07211028 发表于 2010-12-22 08:23 | 显示全部楼层
LS可爱啊
szlrsmt 发表于 2010-12-22 11:47 | 显示全部楼层
:handshake学习了。。
beanandpeach 发表于 2012-12-12 17:50 | 显示全部楼层
学习
LG2012GG 发表于 2012-12-29 20:44 | 显示全部楼层
浮点数的传输显示我做过了,
但又忘了,一时没法回答你,要用到指针
么么沫沫 发表于 2013-10-9 13:43 | 显示全部楼层
make8419247 发表于 2013-10-11 08:54 | 显示全部楼层
没太看明白
九牛座 发表于 2014-12-31 10:51 | 显示全部楼层
3楼的方法确实可行吗?

评论

大家都是这么做的  发表于 2015-9-21 17:35
liurang2012 发表于 2020-12-14 13:02 | 显示全部楼层
学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

35

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部