具体来说:

我正在做一些数学运算,并且应用程序不断崩溃,因为被广泛使用的double恰巧获得了该值:-1。#IND000000000000当“一些”数字被平方时...
这是什么?不定?无限的?太大而不能容纳?不是完美的平方根?有什么办法可以解决这个问题?
提前致谢!
编辑:我如何检查 double 是否具有此值?我尝试了:if(x == 0x-1。#IND000000000000)和其他变体,但是没有用。是否可以检查变量是否具有该值?

最佳答案

实际上,字符串-1.#IND000000000000不是由函数返回的值,而是QNaNQuiet Not-a-Number的一种常见表示形式,SNaN是表示无效数字的特殊IEEE-754值,不会引起异常(存在(Signalling NaN,ojit_code)也会导致浮点异常(如果启用)。造成这种情况的常见原因是调用了一个函数,该函数的参数超出了它的范围。

关于c++ - C++ sqrt返回-1。#IND000000000000,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4688448/

10-10 12:29