首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

fabs(a)<=EPS 是什么意思?解决思路

2012-11-03 
fabs(a)EPS是什么意思?书上第一次出现就说测试0也不说是啥[解决办法]IEEE754标准中,单精度浮点数(4byte)

fabs(a)<=EPS 是什么意思?
书上第一次出现 就说测试0 也不说是啥


[解决办法]
IEEE754标准中,单精度浮点数(4byte)表示法:1bit符号位(S),8bit指数位(E,用阶码表示),23bit小数部分(尾数M)。双精度浮点数(8byte)表示法:1bit符号位,11bit指数位(用阶码表示),52bit小数部分(尾数)。所以一个规格化的单精度浮点数x的真值为x=((-1)^S)*(1.M)*(2^(E-127));显然,x永远也不可能为绝对0。

[解决办法]
EPS是个很小的数,如1e-6,因为浮点数在内存中的表示是不精确的,会有很微小的误差,所以判断是否为0,就看它的绝对值是不是<=EPS

热点排行