在我的代码中包含了一些数学,我偶然发现了常量“PI”。
至少在我的Xcode版本4.6中我可以使用其中任何一个。但是pi
和M_PI
之间有什么区别?关于该主题的文档有点紧张。
答案 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足够接近几英里范围内的星系(可能是整个宇宙)的周长,所以我不会失去它的睡眠。