多次赋值会改变浮点数小数位吗

Sybil_aoi 2017-08-26 12:01:10
我追踪过我和同学的程序,同样的减数和被减数,double类型,在监视里显示的小数位也是一样的。前者是整数,小数位在显示出来的部分里都是0,另一个是1.7,后面也都是0。但是就在相减这一步走过之后,我的小数位变成了0.2999...45...,他的变成了0.3000..13...(反正是差了那么一点点)
我知道浮点数在存储的时候小数位后面其实是有细微差别的,但是我不知道为什么我们两个会有这样的差别。检查后只能说我可能比他多赋值了几次,有好几个中间的临时变量,这会是导致我们有差别的原因吗?
这样的差别直接导致我和他差一个像素点。。。
...全文
151 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
自信男孩 2017-08-28
  • 打赏
  • 举报
回复
跟实数的精度有关,详细的建议查阅浮点数在内存的存储。 http://blog.csdn.net/richerg85/article/details/20456969
赵4老师 2017-08-26
  • 打赏
  • 举报
回复

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧