gpt4 book ai didi

objective-c - Objective-C 余弦

转载 作者:太空狗 更新时间:2023-10-30 03:48:40 26 4
gpt4 key购买 nike

我正面临 objective-c 中 cos 函数的奇怪问题。我安装了带有 iOS 4.3 SDK 的 xcode 4.1.1。

我正在计算一个数的余弦值:

y= cos(x*M_PI/180)

这将返回除 90 度以外的几乎所有数字的正确答案。

y=cos(90*M_PI/180)

y 是 6.12323e-17!这是不正确的。它应该是 0。

NSLog 显示了一些不同的东西:

operand=cos(operand * M_PI / 180);
NSLog(@"cos: %d", operand);

结果: 因为:-832086752

我不明白。有人可以解释一下吗?

最佳答案

浮点运算并不精确。 90*M_PI/180 不完全是 π/2,因为浮点硬件无法准确表示超越数。

NSLog 中的结果是因为operand 是(我推测)floatdouble,而您我告诉 NSLog 将其解释为 int (%d)。请改用 %f%g

关于objective-c - Objective-C 余弦,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6981416/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com