在C语言中,遇到"nan(ind)"这样的表达式,意味着计算结果出现了非数值状态。"nan"是"not a number"的缩写,表示计算过程中产生的数值不符合常规,无法被赋予数学意义。例如,当试图对负数开平方,对负数取对数,或者进行诸如0.0除以0.0、0.0乘以无穷大等运算时,结果会变为"nan"。"ind"则代表"in...
nan 是 "not a number" 的缩写, 即计算结果 不是个 数。 例如: 32 位数 实际指数 128 ,数符 1 或 0,指数域二进制1111 1111。尾数域 等于非零。 ind 是 indeterminate 的缩写,即无法确定 是什么。 对负数开平方,对负数取对数,0.0除以0.0,0.0乘无穷大∞, 无穷大∞除以无穷大∞ 等错误都会 得到它。
C语言当中的nan 表示not a number,等同于 #IND:indeterminate (windows) 产生: 对浮点数进行了未定义的操作; 对负数开方,对负数求对数,0.0/0.0,0.0*inf、inf/inf、inf-inf这些操作都会得到nan。(0/0会产生操作异常;0.0/0.0不会产生操作异常,而是会得到nan); 在GNU中,使用宏:float NAN对浮点数赋值; 判定:...
结论是,当使用C语言编程计算1-1/2+1/3...+1/9-1/10时,可能会出现输出结果为-nan(ind)的情况。下面我们将分析代码并找出可能的问题。在C语言的程序中,函数suanfa(int n)用于计算一系列分数的和,然后在main函数中调用它并输出结果。问题可能出在while循环部分,特别是处理奇数项和偶数项时...
为什么输出的是-na..你得先判断是否有解,即b^2-4ac是否大于0再开,而不是直接开,即使他告诉你假定有解。或者说你得确保你的输入abc使得方程有解。vs使用scanf_s安全函数取代scanf
-1.#INF / -inf 值。-1.#IND / nan:这个的情况更复杂,一般来说,它们来自于任何未定义结果(非法)的浮点数运算。"IND"是 indeterminate 的缩写,而"nan"是 not a number 的缩写。产生这个值的常见例子有:对负数开平方,对负数取对数,0.0/0.0,0.0*∞, ∞/∞ 等。
写的一个一元二次方程的程序,但运行结果总是-nan(ind),怎么回事,求助 柯西不等等等式 路人 2 哪个大佬能帮忙解决一下 渦愛·草莓味 毛蛋 1 类型转换,输入用浮点型接收。 家父张二河 麻婆豆腐 11 有任何问题都可以进来,大神免费解答问题 cxXJXxc 便当 3 scanf的引号里有逗号,所以你运行程序的...
本文总结nan和inf在C语言当中的含义、产生和判定方法。...C语言当中的nan 表示not a number,等同于 #IND:indeterminate (windows) 产生: 对浮点数进行了未定义的操作;对负数开方,对负数求对数,0.0/0.0,...quiet NaN就是即使在计算出现异常的情况下...
当我在do-while-loop中添加if(k>18) { printf("k is too big: %i\n",k); }行时,将打印此...
由于在ANSI C中没有这些的标准表示,因此您可能会得到不同的结果。例如: