dataBuf[1] = acos(0.130f);
这是我正在运行的代码,但是当我打印出结果时,结果显示为 1 而不是 82。dataBuf 是一个 int16_t 数组。所有其他 math.h 函数都可以很好地进行转换,但三角函数不起作用。
最佳答案
math.h
中的三角函数使用弧度,而不是度数。您可以将弧度乘以 180/pi
( 57.29577951308232
)。
acos(0.13)
将返回 1.440427347091751
弧度乘以 57.29577951308232
得到 82.53040768358306
度的结果。
关于c - double 到 int 的转换在 c 中使用 math.h 函数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29905091/