程序采用参数1 double并使用长浮点值进行计算。例如double myvar= n*0.000005478554 /298477
。
问题是我不确定真正的计算值是否插入到myvar中。
因为当我改变它时它产生同样的东西cout<<"myvar ="<<myvar;
c ++中用于最大精度的最大类型是什么?此代码导致缓冲区溢出,因为双变量不能容纳太多信息吗?如果是的话会发生什么?如何检测它以供以后使用?
答案 0 :(得分:2)
double
将保持多的值小于({更大>)0.000005478554 /298477
。您遇到的任何问题几乎都是由代码中的错误引起的。 显示它!
尝试将问题减少到几行。这种问题可以用小到
的东西再现#include <iostream>
int main() {
double myvar = 7 * 0.000005478554 /298477;
std::cout << myvar;
}