[英]strange result after division in c++
我想分成如下变量。 我发现当我将c
除以double
并且例如值为0.0137777887700191
到10
,差异变为6.9533479143199673e-310
。
double diff = c / static_cast<double>(10);
为什么结果是这样的。 你能帮我吗。
代码的一部分是这样的:
double c = uniform(0,(nextac0PktExpir->getArrivalTime() - simTime()).dbl());
double diff = c / 10.0;
#include <iostream>
int main()
{
double c(0.0134);
double diff;
std::cout << diff << std::endl;
diff = c /10.0;
std::cout << diff;
return 0;
}
使用g ++,它将打印:
6.95322e-310 (or something similar...)
0.00134
您可能在执行赋值之前检查调试器中diff
的值。
这对我有用。 它给出了预期的结果。
#include <iostream>
using namespace std;
int main()
{
double c = 0.0134 ;
double diff = c /10;
cout << diff;
return 0;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.