31

我需要在 C 程序中计算一个角度。这是我需要转换为 C 的 JAVA 方法。

private static double calculateDirection(double x, double y)
{
    return Math.toDegrees(Math.atan2(y, x));
}

C语言中是否有类似toDegrees的函数,所以我不必自己编写所有代码?谢谢

4

3 回答 3

45
#include <math.h>

inline double to_degrees(double radians) {
    return radians * (180.0 / M_PI);
}
于 2013-02-17T11:45:21.093 回答
8

没有必要使用这种方法。转换为度数非常简单:

double radians = 2.0;
double degrees = radians * 180.0 / M_PI;

如果你愿意,可以把它变成一个函数。

M_PI是*math.h顺便定义的。


* 在大多数编译器中。

于 2013-02-17T11:44:03.580 回答
5

如果您的偏好只是复制/粘贴几个宏:

#include <math.h>
#define degToRad(angleInDegrees) ((angleInDegrees) * M_PI / 180.0)
#define radToDeg(angleInRadians) ((angleInRadians) * 180.0 / M_PI)

如果您想省略#include,请将该行替换为从math.h标题中复制的该行:

#define M_PI   3.14159265358979323846264338327950288
于 2018-02-08T19:26:56.200 回答