数学 三角函数 程序设计 编程 精度误差

sin30°或者cos60°一定等于0.5吗?是怎么得出来的。为什么有些计算器或者用程序编的算法会得出0.49999999999或者0.50000000000001。数学上的运算和程序上的运算真的又差别?是这样的吗?

首先确定sin30°或者cos60°一定等于0.5。这是由数学推理得到的——准确无误。
至于计算器或程序设计的误差确实存在。我从编程的角度考虑,其误差主要源于角度单位的换算。比如我们编程序,系统只识别另一种角度单位“弧度”,所以你输入“度”数后,所编的程序要把它换算成“弧度”,这个换算过程中涉及到了π,因为它是无限不循环小数,所以必然要产生误差!不过就“0.49999999999或者0.50000000000001”而言误差够小了,实践中不会有影响的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-30
这个因为程序设计中这里的30°指的是弧度值而不是角度值
弧度=度×π/180
例如:
90°=90×π/180 =π/2 弧度
60°=60×π/180 =π/3 弧度
45°=45×π/180 =π/4 弧度
30°=30×π/180 =π/6 弧度
120°=120×π/180 =2π/3 弧度
所以得到的不是1/2.
而数学公式中的30°得到的肯定是1/2.
相似回答