1

当我这样做时,我得到了错误的值

NSLog(@"cos 90 is %.f", cos(90.0));

我得到的答案是-0。当我进行谷歌搜索时,这就是我得到的:

cos(90 弧度) = -0.448073616。

然而,我的卡西欧计算器给我的答案是 0,而且当我还是个孩子的时候,cos 90 = 0它也被钻进了我的大脑。

谁是对的,是 ObjC、Google 还是我的 Casio 计算器?

4

2 回答 2

7

这完全取决于您是用度数还是弧度测量。

正如您所说,90 度(pi/2 弧度)的余弦为 0。这几乎是定义。

90 弧度是绕一圈的 14.323945 倍。唯一重要的部分是余数:一个圆的 0.323945,或 2.035406 弧度。其余弦为(如您所见)-0.448074。这不是一个定义,所以实数是不合理的,我引用的只是近似值。

于 2012-07-02T03:34:12.607 回答
2

将该行更改为:

NSLog(@"cos 90 is %0.5f", cos(90.0));

或者

NSLog(@"cos 90 is %f", cos(90.0));

你会得到更快乐的结果。

%.f格式字符串中的“ ”使 NSLog 感到困惑。

于 2012-07-02T03:24:04.713 回答