c - double 到 int 的转换在 c 中使用 math.h 函数不起作用

标签 c int double type-conversion math.h

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/

相关文章:

c - 如何触发 Splint 的抽象类型检查器?

java - 如何打印ascii值的字母表

c# - 在一个事件中设置 'int' 并在另一事件中使用它

ios - 在 Swift 中将 Int 更改为 CGFloat 以返回 heightForRowAtIndexPath tableview 函数

java - Double.toHexString() 语法 - 它来自哪里?

将字符串复制到无符号缓冲区 : Segmentation fault

c - 为什么我们不需要 for 循环来在 C 中打印字符串?

java - 解析非负 double

C 选项好风格?

c++ - 错误 : Conversion from 'double' to non-scalar type 'Player' requested in function 'int main()' ;