程序里PI的倍数不会有误差吗…怎么解决?
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/19 13:53:28
程序里PI的倍数不会有误差吗…怎么解决?
程序里数据记录有精度的嘛.大多情况最多就是8bytes的浮点数.而常量PI毕竟也是个浮点常量,如果乘以一个较大的数,比如10的16次方,那与实际PI的那么多倍岂不是要差几个1了呀………怎么解决呢?
如果求一个函数值,里面就有着像上面那种的情况,那误差就会变得很明显啊……囧
程序里数据记录有精度的嘛.大多情况最多就是8bytes的浮点数.而常量PI毕竟也是个浮点常量,如果乘以一个较大的数,比如10的16次方,那与实际PI的那么多倍岂不是要差几个1了呀………怎么解决呢?
如果求一个函数值,里面就有着像上面那种的情况,那误差就会变得很明显啊……囧
每次都要乘以PI是不是太笨了?
类似的运算,和三角、圆周有关的,尽量以简单的数量,最好是整数,先算,最后再与PI建立关系.比如你可以把圆周等分为3600份,这个精度一般够了吧?所有的运算,先用3600以内的整数算,最后再把结果和3600与20PI进行比例运算.
我是写程序的,有一点体会,就是程序中的运算,几乎可以和实际的运算完全不同,需要通过数学方法变换到计算机容易计算的形式去.
类似的运算,和三角、圆周有关的,尽量以简单的数量,最好是整数,先算,最后再与PI建立关系.比如你可以把圆周等分为3600份,这个精度一般够了吧?所有的运算,先用3600以内的整数算,最后再把结果和3600与20PI进行比例运算.
我是写程序的,有一点体会,就是程序中的运算,几乎可以和实际的运算完全不同,需要通过数学方法变换到计算机容易计算的形式去.