1. 你说sin(pi/2)是对的,其他都是错的,是单独只比较sin(x)的吗?比如sin(pi/3), sin(pi/6), sin(pi/4)?
可以用VC产生一个sin(PI* n / 256), n = 0,1,...,255 的表存成数组,然后用你的sin函数产生相同的表,比较每一个的误差大小, 如果这样比较都有问题,那估计是你的sin(x)确实有问题,你也不用在这上面花时间了。
2. 如果sin(x)真有问题,可以自己写一个sin(x),比如 sin(x) = |(1-(cos(x))^2)^1/2|.
或者通过级数展开 sin(x)=x-x^3/3!+x^5/5!-x^7/7!+x^9/9!-x^11/11!.........
|