c语言解一元二次方程时候为什么用fabs(a)<=1e—6而不是直接a==0?

2025-04-05 07:37:13
推荐回答(2个)
回答1:

它的意思是想得到a=0的情况,但浮点数在用二进制表示时绝大部分是近似值,本来是0的算出来只是在0附近,所以当a的值在-0.000001和+000001之间是就认为是0了。当然还可以取得小些,这根据需要定!

回答2:

fabs(a)的值是无穷小,但是不会等于0