我想像下面这样划分为变量。我发现当我将 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
的值。
关于c++ - 在 C++ 中划分后的奇怪结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22382180/