如何判断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