双重计算问题

扫码查看
本文介绍了双重计算问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好,在我的C ++代码中,我有2个双变量,其值分别为.4和.1


当我从.4中减去.1时,我得到的值是.30000000004.请问为什么编译器给出了这样的值以及如何解决这个问题.


例如代码

double d = .4;
double dec = .1

double result =  d- dec;



因此,当我从.1中减去.1时,我得到的是.00000000027而不是zeo.它们存储在二进制文件中.这意味着以10为底的精确数字在以2为底的数字中不是那么精确:

此处 [ ^ ]比我能更好地解释它:请参阅将小数转换为二进制实数"下的一半内容




Hi in my C++ code I have 2 double variables with value .4 and .1


When I subtract .1 from .4 the value I am getting is .30000000004 .May I know why the compiler is giving such a value and how can I solve the issue.


eg code

double d = .4;
double dec = .1

double result =  d- dec;



due to this when I subtract .1 from .1 I am getting .00000000027 instead of zeo.

解决方案




这篇关于双重计算问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-23 04:41
查看更多