最大的浮点变量

时间:2014-02-13 08:52:13

标签: c++ double floating-accuracy buffer-overflow

程序采用参数1 double并使用长浮点值进行计算。例如double myvar= n*0.000005478554 /298477。 问题是我不确定真正的计算值是否插入到myvar中。 因为当我改变它时它产生同样的东西cout<<"myvar ="<<myvar; c ++中用于最大精度的最大类型是什么?此代码导致缓冲区溢出,因为双变量不能容纳太多信息吗?如果是的话会发生什么?如何检测它以供以后使用?

1 个答案:

答案 0 :(得分:2)

double将保持的值小于({更大>)0.000005478554 /298477。您遇到的任何问题几乎都是由代码中的错误引起的。 显示它!

尝试将问题减少到几行。这种问题可以用小到

的东西再现
#include <iostream>
int main() {
  double myvar = 7 * 0.000005478554 /298477;
  std::cout << myvar;
}
相关问题