C语言sin函数总算不对?90%的人栽在这个坑上!
你是不是也遇到过这种崩溃时刻——数学课上明明sin(30°)等于0.5,写到代码里却输出一堆乱七八糟的数字?别慌,这不是你智商掉线,而是编程里的sin函数有个"隐藏规则"! 罪魁祸首是弧度制。C语言的sin函数不吃角度这一套,它只认弧度。想算sin(30°)?得先把30度转成弧度:乘以3.14159再除以180。公式记住:弧度 = 角度 × π / 180。忘加
来段能跑的代码压压惊: c
#include
#include
#define PI 3.14159265
int main() {
double angle = 30.0;
double radian = angle * PI / 180.0;
printf("sin(30°) = %f", sin(radian)); return 0;
cos、tan也是这个套路,记住先转弧度再计算就稳了。
写了这么多年代码,我觉得这设计确实有点反直觉——毕竟咱们从小到大学的都是角度。但数学库里用弧度是为了计算效率,理解了这个弯弯绕,三角函数就再也不是你的噩梦了!
你遇到过吗?
标签:
库函数sin怎么用