【发布时间】:2012-06-27 01:05:07
【问题描述】:
我发现 cmath 库中的 tan(float) 函数返回负值。
以下代码,运行时:
#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);
有人可以帮我解释为什么我看到的是负值吗?它与某些浮点大小错误有关吗?还是我在做一些非常愚蠢的事情?
【问题讨论】:
-
太棒了,这么快的反应。现在我可以回家睡觉了。 :-) 谢谢大家!!
-
为什么不查找并阅读
tan()文档? -
是的,我应该有.. 我同意这很愚蠢。但是,有时当你深陷迷路时……[比如找出将挥击长度和挥击速度映射到球轨迹的正确方法],最简单的事情不会出现在你的脑海中。 :-)
标签: android c math android-ndk cmath