汇编编程求一弧度的正弦或余弦?

来源:百度知道 编辑:UC知道 时间:2024/06/07 22:32:35
能够再m2kf平台上运行的??急ing!!!!
不是用C语言的。。。。。。。要用汇编语言!!!!

cos double cos(double x); 计算x弧度的余弦值
acos double acos(double x); 计算绝对值不大于1的浮点数的反余弦值
该指令从运算栈中弹出一个操作数,计算它(弧度)的三角余弦值,并将结果压入运算栈。

java.lang.math.sin(double a);
java.lang.math.cos(double a);
java.lang.math.tan(double a);

首先,只考虑x在[0,Pi/2]的范围,其他范围很用以用这个范围的替换.
然后用sin(x)的泰勒展开式,取前几项就可以了.
12位是10进制位还是2进制位
(Pi/2)^17/17!=6*10^(-12),
(Pi/2)^19/19!=4.4*10^(-14)
所以计算到第17次方这一项足够了.
这样
sin(x)=x-x^3/3!+x^5/5!-....+x^17/17!
总共9项,每项需要一次浮点乘法,一次定点乘法(还可以预先计算),一次浮点除法.
sum=cur=x;
sqrx=x*x;
cur*=sqrx;
cur/=(2*3);
sum-=cur;
cur*=sqrx;
cur/=(4*5);
sum+=cur;
...
cur*=sqrx;
cur/=(16*17);
sum+=cur;

你好,三角函数运算指令为:

SIN指令
sin double sin(double x); 计算x弧度的正弦值
asin double asin(double x); 计算绝对值不大于1的浮点数的反正弦值
该指令从运算栈中弹出一个操作数,计算它(弧度)的三角正弦值,并将结果压入运算栈。

CON指