[STM32F4] KEIL下整数和浮点的转换问题

[复制链接]
1628|5
 楼主| kgq398 发表于 2015-10-19 11:37 | 显示全部楼层 |阅读模式
实验目的:将整数1234,转换为1.234
使用环境:KEIL4.7
试验函数:采用如下函数
float READ_EEPROM_float11()
{
        int tmp;
        float dat;

        tmp = 1234;
        dat=(float)((float)tmp/1000);
        return (float)dat;
}
试验结果:
1、在32位XP系统下,得出dat=1.234
2、在64位WIN8下得出dat=1.2399997


请问,如何在64位XP下得到1.234?
kseeker 发表于 2015-10-19 11:44 | 显示全部楼层
1.234无法用float准确表示。你看到的区别只是显示前的格式化过程造成的区别。
styleno1 发表于 2015-10-19 12:04 | 显示全部楼层
精确计算使用整型为妥
mmuuss586 发表于 2015-10-19 13:46 | 显示全部楼层
这个没办法的;
改成DOUBLE也是一样;
 楼主| kgq398 发表于 2015-10-19 17:21 | 显示全部楼层
那是不是就没办法解决呢,有人说使用共用体,但是我测试还不行,难道是方法问题吗
拉克丝 发表于 2015-10-20 16:08 | 显示全部楼层
还不知道32位和64位系统有这么大的影响,哪个应该是比较准确的呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

3

帖子

1

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