【发布时间】:2014-01-19 13:32:52
【问题描述】:
我一直在研究如何计算正弦和余弦。我发现了一些“标准”方法,包括查找表、CORDIC 算法和泰勒级数。我还发现大多数现代处理器都有一个计算三角函数的汇编指令。我想知道的是这些命令是如何工作的。
所以,我的问题是: 当前的一代处理器使用什么特定算法来计算正弦和余弦?
【问题讨论】:
-
正弦基本上不是正弦 a = 对边/斜边吗?对我来说应该是一个简单的几何函数。但我确实知道数学函数很多时候都是由表格生成的。
-
@NathanM 该定义是正确的,但是为了构造三角形,您需要
sin函数;明显的循环。幸运的是,三角函数可以通过多项式展开来评估,我相信这仍然是处理器的做法。 -
单位圆计算,也许吧?
-
@NathanM 有几种计算正弦的方法,泰勒级数可能是最常用的方法,CORDIC 算法也经常使用,所以你应该查一下。我想知道的是我们的处理器使用的是什么特定算法。我有预感它是上述两种之一,但我想知道是哪一种。
-
是的,我熟悉泰勒级数。这似乎是最简单的方法。检查制造商的网站?如果它是一个英特尔处理器,那么构建良好的谷歌搜索可能会产生答案。
标签: assembly trigonometry