注册 登录
查看: 395|回复: 8

浮点运算问题,求助大神

[复制链接]
发表于 2017-6-27 20:59:10 | 显示全部楼层 |阅读模式
浮点数的连续运算,放在一个表达式中,程序有时会跑飞。
如果单独计算,然后在将浮点结果合并计算,然后在赋值就很稳定。
用的K60dn,求助,why?
来自PC客户端 来自PC客户端
回复

使用道具 举报

发表于 2017-6-28 08:09:46 | 显示全部楼层
没遇到过,看看最后算的是什么值的运算,可能是非法符号导致的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-6-28 15:34:57 | 显示全部楼层
步一璇 发表于 1498608586
没遇到过,看看最后算的是什么值的运算,可能是非法符号导致的
没理解,非法符号?
来自PC客户端 来自PC客户端
回复 支持 反对

使用道具 举报

发表于 2017-6-28 19:54:00 | 显示全部楼层
ggchasing 发表于 2017-6-28 15:34
没理解,非法符号?

浮点数,是32位的,但并非32位的数据,都能转换成浮点数。

也许数组越界,或者其他原因,产生了非法的浮点数据,从而导致跑飞。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-6-28 19:58:35 | 显示全部楼层
山外メ雲ジ 发表于 1498650840
浮点数,是32位的,但并非32位的数据,都能转换成浮点数。

也许数组越界,或者其他原因,产生了非法的浮点数据,从而导致跑飞。
山外哥的意思是其他原因了,并非上述浮点操作了?
来自PC客户端 来自PC客户端
回复 支持 反对

使用道具 举报

发表于 2017-6-28 20:06:52 | 显示全部楼层
ggchasing 发表于 2017-6-28 19:58
山外哥的意思是其他原因了,并非上述浮点操作了?

这些都是仅在你描述的基础上猜测,不能确定的。你要自己在线调试,定位问题。
例如跑飞的时候,看看之前执行过什么函数
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-6-28 20:09:03 | 显示全部楼层
山外メ雲ジ 发表于 1498651612
这些都是仅在你描述的基础上猜测,不能确定的。你要自己在线调试,定位问题。
例如跑飞的时候,看看之前执行过什么函数
我在想是否是dn的寄存器不够,无法处理同一表达式中的浮点运算?
来自PC客户端 来自PC客户端
回复 支持 反对

使用道具 举报

发表于 2017-6-28 20:10:09 | 显示全部楼层
ggchasing 发表于 2017-6-28 20:09
我在想是否是dn的寄存器不够,无法处理同一表达式中的浮点运算?

这个不需要考虑,编译器会分解成一个个汇编指令的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-6-28 20:15:50 | 显示全部楼层
山外メ雲ジ 发表于 1498651809
这个不需要考虑,编译器会分解成一个个汇编指令的。
也是,多谢山外大神指点迷津,我再看看程序
来自PC客户端 来自PC客户端
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回列表 返回顶部