有没有办法使用软件FPU同时计算正弦和余弦?

时间:2011-01-24 23:18:51

标签: floating-point trigonometry

余弦只是正弦值90度偏移的结果。我正在使用带有IEEE754 32位FPU软件的微控制器,它具有sin和cos功能。 Sin和cos相对较慢(每个大约800个周期),因此如果我能计算出正弦或余弦值并以某种方式得出缺失值,它会更快。有可能吗?

1 个答案:

答案 0 :(得分:2)

软件FPU上sqrt的速度有多快?如果它比sin / cos快,那么你可以使用身份:sin(x)^2 + cos(x)^2 = 1,即

cos(x) = sqrt(1 - sin(x)^2)

当然,您需要注意+/-符号,但如果您知道自己所在的象限,则不会有问题。