当我这样做时,我得到了错误的值
NSLog(@"cos 90 is %.f", cos(90.0));
我得到的答案是-0。当我进行谷歌搜索时,这就是我得到的:
cos(90 弧度) = -0.448073616。
然而,我的卡西欧计算器给我的答案是 0,而且当我还是个孩子的时候,cos 90 = 0
它也被钻进了我的大脑。
谁是对的,是 ObjC、Google 还是我的 Casio 计算器?
当我这样做时,我得到了错误的值
NSLog(@"cos 90 is %.f", cos(90.0));
我得到的答案是-0。当我进行谷歌搜索时,这就是我得到的:
cos(90 弧度) = -0.448073616。
然而,我的卡西欧计算器给我的答案是 0,而且当我还是个孩子的时候,cos 90 = 0
它也被钻进了我的大脑。
谁是对的,是 ObjC、Google 还是我的 Casio 计算器?
这完全取决于您是用度数还是弧度测量。
正如您所说,90 度(pi/2 弧度)的余弦为 0。这几乎是定义。
90 弧度是绕一圈的 14.323945 倍。唯一重要的部分是余数:一个圆的 0.323945,或 2.035406 弧度。其余弦为(如您所见)-0.448074。这不是一个定义,所以实数是不合理的,我引用的只是近似值。
将该行更改为:
NSLog(@"cos 90 is %0.5f", cos(90.0));
或者
NSLog(@"cos 90 is %f", cos(90.0));
你会得到更快乐的结果。
%.f
格式字符串中的“ ”使 NSLog 感到困惑。