首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

蛋痛的有关问题

2012-02-19 
蛋痛的问题double a -1.0 double b 0.2 double d b*5.0 double c a + b*5.0 double e a + d

蛋痛的问题
double a = -1.0 ;
  double b = 0.2 ;
  double d = b*5.0 ;
  double c = a + b*5.0 ;
  double e = a + d ;
  ShowMessage(c) ;
  ShowMessage(e) ;


为什么这两个输出不一样呢?
请大家帮小弟解释一下。
谢谢!!!

[解决办法]
浮点数无法精确的表示0.2,所以c d e均为不精确的值。

所以不一样很正常
[解决办法]
cb6,两个都是0,你是神马环境,神马结果
[解决办法]
正常的浮点误差
我的第一个c=5.55111512312578E-17
第二个e=0
[解决办法]
电脑计算浮点数肯定有误差的,很正常啊!

热点排行