如何判斷float值有效


 1     // 一個浮點數是否有效,首先要看其是否是一個數字(_isnan為0),其次還要看其是否超出了表示范圍(_finite為0)
 2     // 注意_finite是有限的意思
 3     #include <float.h>
 4     CString strOut;
 5     float f;
 6     int nan, finite;
 7     
 8     f = 3;
 9     nan= _isnan(f);// 0
10     finite = _finite(f);// 1
11 
12     unsigned int cc = 0xFF800000;
13     memcpy(&f, &cc, sizeof(f));
14     nan= _isnan(f);// 0
15     finite = _finite(f);// 0
16     strOut.Format("f=%f",f);//-1.#INF00
17 
18     unsigned int ccc = 0xFFFFFFFF;       
19     memcpy(&f, &ccc, sizeof(f));
20     nan= _isnan(f);// 1
21     finite = _finite(f);// 0
22     strOut.Format("f=%f",f);//-1.#QNAN0

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM