Tag: 数值限制

当浮点变量超出浮动限制时,会发生什么?

我说了两件事: std::numeric_limits::max()+(a small number) 给出: std::numeric_limits::max() 。 std::numeric_limits::max()+(a large number如: std::numeric_limits::max()/3) 给出 inf。 为何如此差异? 1或2会导致OVERFLOW导致未定义的行为吗? 编辑:测试此代码: 1。 float d = std::numeric_limits::max(); float q = d + 100; cout << "q: " << q << endl; 2。 float d = std::numeric_limits::max(); float q = d + (d/3); cout << "q: " << q << endl;