您的位置:首页 > 其它

-1.#IND,1.#INF 的判断

2015-08-31 11:27 176 查看
转自 : http://blog.csdn.net/zhang11wu4/article/details/7781099

C/C++程序运行有时候会出现-1.#IND,1.#INF

一般来说是除数为0得出的结果,INF就是infinite,就是无穷大的意思;IND可能表示很小,不确定。

使用类似于pow, exp等等函数时常会产生一个无效数字1.#IND00,在VC下可以通过与一个确定数字比较大小来判断是否产生了无效数字,但这个方法在DEV-CPP下却是行不通的。

其实解决办法很简单,使用   float.h中一个函数_isnan即可:

int _isnan(double x); 

当x是一个无效值(NaN, Not a Number) 时,返回非零值,否则返回0。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: