读书人

if ((x gt;= - EPSINON) amp;amp; (x lt;= EPSIN

发布时间: 2012-04-22 18:34:46 作者: rapoo

if ((x >= - EPSINON) && (x <= EPSINON))//x>= -EPSIONON为什么是负的?
float的精度最大为1/2^23次方(32位操作系统 ),也就是1.192092896e-07F 。精度为小数点后6位
float型变量和“零值”比较的方法:
const float EPSINON = 0.000001;
if ((x >= - EPSINON) && (x <= EPSINON))//x>= -EPSIONON为什么是负的?

[解决办法]
1.192092896e-07F与0.000001其实,在计算机看来是相等的!

读书人网 >C语言

热点推荐