objc中“pi”和“M_PI”之间的区别是什么

时间:2013-03-05 18:34:23

标签: objective-c math pi

在我的代码中包含了一些数学,我偶然发现了常量“PI”。 至少在我的Xcode版本4.6中我可以使用其中任何一个。但是piM_PI之间有什么区别?关于该主题的文档有点紧张。

2 个答案:

答案 0 :(得分:25)

pi在“CarbonCore.framework”标题中定义为

extern const double_t pi  __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA);

但标记为“已弃用”。我认为它是旧碳框架的遗留物。

M_PI被定义为宏

#define M_PI   3.14159265358979323846264338327950288
math.h中的

和POSIX标准的一部分。

值相同,但出于便携性原因,您应使用M_PI

(对于 Swift,请参阅How to get mathemical PI constant in Swift。)

答案 1 :(得分:1)

M_PI足够接近几英里范围内的星系(可能是整个宇宙)的周长,所以我不会失去它的睡眠。