fabs(a)<=EPS 是什么意思?解决思路
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
书上第一次出现 就说测试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