转换为10进制并放大100倍后在数码管上显示

[复制链接]
 楼主| liuzaiy 发表于 2015-9-18 18:50 | 显示全部楼层 |阅读模式
单片机读取一个32位的16进制数,符合IEEE754国际标准的四字节形式,我要想把它转换为10进制并放大100倍后,在数码管上显示!请问怎么操作?
yinxiangh 发表于 2015-9-18 18:50 | 显示全部楼层
每太看懂你要干嘛
 楼主| liuzaiy 发表于 2015-9-18 18:51 | 显示全部楼层
比如我单片机读过来的数据是16进制:43FA0000,换算后实际是10进制浮点数500.00,我想放大100倍后用于在数码管显示,浮点数这块如何处理呢?
pangb 发表于 2015-9-18 18:51 | 显示全部楼层
你是要参考程序吗
 楼主| liuzaiy 发表于 2015-9-18 18:51 | 显示全部楼层
对,尤其是浮点数处理这块!
chenjunt 发表于 2015-9-18 18:52 | 显示全部楼层
正负符号位得注意
ousj 发表于 2015-9-18 18:52 | 显示全部楼层
(unsigned long)(i * 100.0)
 楼主| liuzaiy 发表于 2015-9-18 18:52 | 显示全部楼层
你好,这样做恐怕不对吧?!读过来的是4个字节的IEEE754国际标准的16进制数据哦!
morrisk 发表于 2015-9-18 18:52 | 显示全部楼层
是不是先得转换呢?
zyf部长 发表于 2015-9-18 18:53 | 显示全部楼层
U32 out;

out = i * 100;

U8 a = out % 10;
out /= 10;

U8 b = out % 10;
out /= 10;
...
 楼主| liuzaiy 发表于 2015-9-18 18:54 | 显示全部楼层
这个U32 out
是定义了一个浮点数吗?
比如我单片机接收到的数据就是43FA0000这个16进制的,
然后这里定义了一个flaot型的Out变量后,把43FA0000赋值给out后,
就会自动转换为实际真实的浮点数500.00吗?
小小猫咪 发表于 2015-9-18 18:54 | 显示全部楼层
这个U32 out
是定义了一个浮点数吗?

不是浮点数,是长整型数

直接赋值,只得到浮点数的整数部分
 楼主| liuzaiy 发表于 2015-9-18 18:55 | 显示全部楼层
嗯,我看下,多谢哈
sanxinweiled 发表于 2015-9-19 16:21 | 显示全部楼层
学习了     
您需要登录后才可以回帖 登录 | 注册

本版积分规则

735

主题

7546

帖子

2

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