永发信息网

问一个简单的C++的问题?!请教一个问题:下列程序通过for语句重复相加0.01共10次,最后判定相加结果0.1?

答案:5  悬赏:0  手机版
解决时间 2021-11-27 23:46
  • 提问者网友:wodetian
  • 2021-11-27 15:08
问一个简单的C++的问题?!请教一个问题:下列程序通过for语句重复相加0.01共10次,最后判定相加结果0.1?
最佳答案
  • 五星知识达人网友:走死在岁月里
  • 2021-11-27 16:27
答案是不相等的,你把精确度调一下会发现b不是0.1而是0.0999999403953552200。
  代码中cout<  需要添加#include头文件。
  不相等的原因,是因为计算机在存储小数时的不精确引起的。
  你可以看一本书有详细的介绍,《计算机科学概论》。
  纯手打、望采纳
  Pinohans
全部回答
  • 1楼网友:举杯邀酒敬孤独
  • 2021-11-27 20:03
我暂时保留我的看法!
  • 2楼网友:轻雾山林
  • 2021-11-27 18:54
浮点数比较大小都是用差值小于一个极小值,则个极小值,你可以自己选择。浮点数本来就不是精确存储的。
  • 3楼网友:第四晚心情
  • 2021-11-27 18:47
浮点数是不能使用比较大小的,或者换句话说,浮点数不能精确的比较大小,所以不能采用你的方式,可以变更一下程序。

添加头文件:math.h
将if(a == b)替换if(fabs(a-b)<1e-6)
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯