胡渣哥 发表于 2022-10-10 11:00:53

C语言三角函数计算

为啥sin30和sin150计算出来的值不一样啊,这两个值应该相等啊,各位大佬指点一下

jackz007 发表于 2022-10-10 11:10:55

本帖最后由 jackz007 于 2022-10-10 16:38 编辑

      你这个结果显然属于误差,是因为你的 pi 值精度不够造成。
#include <stdio.h>
#include <math.h>

#define PI 3.14159265358979323846

int main(void)
{
      printf("sin( 30) = %f\n" , sin(30 * PI / 180));
      printf("sin(150) = %f\n" , sin(150 * PI / 180)) ;
}
      编译、运行实况:
D:\\C>g++ -o x x.c

D:\\C>x
sin( 30) = 0.500000
sin(150) = 0.500000

D:\\C>

钎玦 发表于 2022-10-10 11:16:53

因为你的3.14≠π

3300625647 发表于 2022-10-10 14:49:57

3.14!=pi

wp231957 发表于 2022-10-10 16:36:18

0.499   和0.501   这看做是等于   也是没问题的

胡渣哥 发表于 2022-10-10 21:17:07

我才发现是我的π精度太低了{:5_109:}
页: [1]
查看完整版本: C语言三角函数计算