double a = sqrt(-1.0); //負(fù)數(shù)開平方,返回NaN雙精度數(shù)
if(a != a) //通過自己不等于自己簡單判斷 { printf("NaN\n"); }雙精度數(shù)的分類,標(biāo)準(zhǔn)庫提供了完整方法,上面的方法可以簡單判斷NaN
posted on 2011-07-16 19:18 魏兵 閱讀(5005) 評(píng)論(5) 編輯 收藏 引用
a=1.0/0.0; 測試不出來。。。 回復(fù) 更多評(píng)論
@ly 1.0/0.0得到的是"正無窮",不是NaN,所以不行 浮點(diǎn)數(shù)的詳細(xì)分類建議使用_fpclass函數(shù) 想給一個(gè)浮點(diǎn)變量直接賦值為"正無窮", double v = numeric_limits<double>::infinity() 回復(fù) 更多評(píng)論
@魏兵原來如此,3q 回復(fù) 更多評(píng)論
好神奇!具體原理是什么呢? 回復(fù) 更多評(píng)論
樓主辛苦了,我想說的是:有個(gè)東西叫Double.isNaN(a) 回復(fù) 更多評(píng)論
Powered by: C++博客 Copyright © 魏兵