有关C语言的精度问题

      再精准的仪器都会有误差,包括计算机,所以在写程序时要考虑到误差值。通常会在程序开始部分规定一个精度EPS,计算结果在这个误差值正负范围内,则为正确,若超出这个范围,则错误。下面就是一个需要考虑误差的程序例子:求一元二次方程ax^2+bx+c=0的解(分相等实根和不等实根情况)。

(1)a=0,则x1=x2=(-c)/b;

(2)a不等于0:b^2-4ac>0;有两个不等的实根

                          b^2-4ac<0;无实根

                          b^-4ac=0;有两个相等的实根

因为考虑了误差,所以需要将0换成规定的EPS,具体如下:


猜你喜欢

转载自blog.csdn.net/niumengting/article/details/80213913