反余弦函数的一个有关问题

反余弦函数的一个问题
在CSDN上找到了反余弦函数的算法为:Arccos(X)       =       Atn(-X       /       Sqr(-X       *       X       +       1))       +       2       *       Atn(1)
但是好想不对,如果X=1或-1,Sqr(-X       *       X       +       1)=0,除数不能为零啊?
我现在要做的事情是y=Arccos(512-x)/512)(0 <=X <=1023),当X=0时,代到上面公式中运算根本不行啊,怎么办?

------解决方案--------------------
反余弦函数的定义是:Y=Arccos(X),定义域是:闭区间[-1,1],从这里可以看出,X可以为-1,或者1;其实,当X=1,或者-1时,Y=0,这是根据定义来的。
我查了,你在CSDN上找到的反余弦函数的公式是对的,这是近似计算公式,便于计算机进行运算,它的定义域要比标准的反余弦函数要窄。当你求自变量X=1,或-1时,Y的值都为0。
------解决方案--------------------
祥见《反三角函数》:

http://www.ourmaths.com:8080/htmlfile/p200395232825.htm