打印
[STM8]

浮点计算

[复制链接]
1324|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Fcg_xx1989|  楼主 | 2016-5-9 17:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用stm8做浮点计算如下:
double tmp = 0;
tmp = 1.0/10.0;
预算结果为1.0,为何?求解,怎么解决?
沙发
jrcsh| | 2016-5-9 17:56 | 只看该作者
10/100.....

使用特权

评论回复
板凳
Fcg_xx1989|  楼主 | 2016-5-9 18:04 | 只看该作者

感谢回复。
什么意思?如果用10/100运算的话结果也是1,如果写(double)10 / (double)(100)结果仍然是1.0

使用特权

评论回复
地板
Fcg_xx1989|  楼主 | 2016-5-9 18:10 | 只看该作者
难道还有什么寄存器要配置吗?求助

使用特权

评论回复
5
Fcg_xx1989|  楼主 | 2016-5-10 08:23 | 只看该作者
我就想实现的东西如下:
由A=0,B=11,C在A和B之间,我要tmp=(C-A)/(B-A),可以用其他方法实现吗

使用特权

评论回复
6
popeye021| | 2016-5-10 08:48 | 只看该作者
Fcg_xx1989 发表于 2016-5-10 08:23
我就想实现的东西如下:
由A=0,B=11,C在A和B之间,我要tmp=(C-A)/(B-A),可以用其他方法实现吗 ...

既然是stm8,就不要用浮点了,把所有参与运算的数放大成整数来计算

使用特权

评论回复
7
Fcg_xx1989|  楼主 | 2016-5-10 09:17 | 只看该作者
popeye021 发表于 2016-5-10 08:48
既然是stm8,就不要用浮点了,把所有参与运算的数放大成整数来计算

多谢回复:
问题找到了,我把参与运算的数定义为了double,所以放大了也没用,现在改为整型,放大后就好了,多谢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

12

帖子

1

粉丝