[开发工具]

KEIL 浮点数取整遇到奇怪值

[复制链接]
3114|19
手机看帖
扫描二维码
随时随地手机跟帖
billy_2005|  楼主 | 2018-2-25 16:05 | 显示全部楼层 |阅读模式
在KEIL仿真,当遇到浮点数是128.000时,取整得出的数竟然是127,请问是什么情况?Y=(unsigned int)f_temp;       
billy_2005|  楼主 | 2018-2-25 16:06 | 显示全部楼层
本帖最后由 billy_2005 于 2018-2-25 16:13 编辑

其它浮点数取整无问题,就是这个128值出来的数有问题

使用特权

评论回复
billy_2005|  楼主 | 2018-2-25 16:27 | 显示全部楼层
应该是KEIL仿真显示128,但是16进制值是少于128一点点,所以取到127部分

使用特权

评论回复
幸福小强| | 2018-2-25 17:12 | 显示全部楼层
不知道啊,所以定义时候就考虑好这些吧,尽量少转换,估计是Keil编译器的问题

使用特权

评论回复
huahuagg| | 2018-2-25 20:31 | 显示全部楼层
开发板数据线出问题了,要不然可以试试

使用特权

评论回复
xuanhuanzi| | 2018-2-25 21:24 | 显示全部楼层
编译器还有这个缺陷?多亏我之前没在单片机用过这种操作

使用特权

评论回复
mcu5i51| | 2018-2-26 09:56 | 显示全部楼层
如果你知道什么是浮点数,二进制怎么表示你就知道了;
如果AB是浮点数,if(a==b)...是不能用的;
你的情况请用四舍五入方法得到整数部份

使用特权

评论回复
香水城| | 2018-2-26 10:07 | 显示全部楼层
用KEIL 523测试过了,没这个问题啊。 会不会是你别的处理问题?

使用特权

评论回复
lvyunhua| | 2018-2-26 13:27 | 显示全部楼层
没有碰到这种情况。

使用特权

评论回复
kingkits| | 2018-2-26 13:55 | 显示全部楼层
加个小数就行了
比如 +0.000001

使用特权

评论回复
東南博士| | 2018-2-26 14:12 | 显示全部楼层
不可能到 128!!!

使用特权

评论回复
gujiamao12345| | 2018-2-26 16:51 | 显示全部楼层
有截图不

使用特权

评论回复
airwill| | 2018-2-26 19:09 | 显示全部楼层
128.000 用浮点数是可以精确表示的, 如果用这样的数值赋值后取整是应该得 128 的.
不过如果是计算结果为 128.000, 那就不好说了, 因为这个结果可能是舍入后的结果, 实际上还并没有达到 128.
所以, 使用浮点数, 由于不精确表示的原因, 是会有这样的问题的, 要特别留意

使用特权

评论回复
airwill| | 2018-2-26 19:09 | 显示全部楼层
128.000 用浮点数是可以精确表示的, 如果用这样的数值赋值后取整是应该得 128 的.
不过如果是计算结果为 128.000, 那就不好说了, 因为这个结果可能是舍入后的结果, 实际上还并没有达到 128.
所以, 使用浮点数, 由于不精确表示的原因, 是会有这样的问题的, 要特别留意

使用特权

评论回复
airwill| | 2018-2-26 19:13 | 显示全部楼层
128.000 用浮点数是可以精确表示的, 如果用这样的数值赋值后取整是应该得 128 的.
不过如果是计算结果为 128.000, 那就不好说了, 因为这个结果可能是舍入后的结果, 实际上还并没有达到 128.
所以, 使用浮点数, 由于不精确表示的原因, 是会有这样的问题的, 要特别留意

使用特权

评论回复
linqing171| | 2018-2-26 22:07 | 显示全部楼层
f_temp 对应的内存或者寄存器的十六进制值是多少?
keil什么版本的? 什么MCU?

使用特权

评论回复
sq0100| | 2018-2-27 09:15 | 显示全部楼层
是这样的,比如127.9999显示为128.0,但是取整截取前面就127了

使用特权

评论回复
Rangar| | 2018-2-27 14:53 | 显示全部楼层
可能是舍入后的结果

使用特权

评论回复
宇容创行| | 2018-2-27 16:53 | 显示全部楼层
+0.5 再取整

使用特权

评论回复
619888476| | 2018-2-27 16:55 | 显示全部楼层
没有遇到过这种问题

使用特权

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

本版积分规则

33

主题

84

帖子

1

粉丝