我观察到库中tan(float)
的函数cmath
返回负值。
以下代码,运行时:
#include <cmath>
....
// some calculation here gives me a value between 0.0 to 1.0.
float tempSpeed = 0.5;
float tanValue = tan(tempSpeed * 60);
__android_log_print(ANDROID_LOG_INFO, "Log Me", "speed: %f", tanValue);
在我的日志文件中给我这个结果:
Log Me: speed `-6.4053311966`
就目前我所记得的
tan(0.5*60) = tan(30) = 1/squareroot(3);
有人可以帮我解释为什么我看到负值吗?它与某些浮点大小错误有关吗?还是我在做一些非常愚蠢的事情?