В чем разница между "pi" и "M PI" в objc
включая некоторую математику в мой код, я наткнулся на константу "PI".
По крайней мере, в моей версии Xcode 4.6 я мог бы использовать любой из них. Но в чем разница между pi
и M_PI
? Документация по этому вопросу немного плотная.
2 ответов
pi
определяется в "CarbonCore.фреймворк " заголовки как
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
из соображений портируемости.
(и Свифт посмотреть как получить mathemical ПИ постоянная в Swift.)
M_PI достаточно близко, чтобы приблизиться к окружности галактики (и, вероятно, всей Вселенной) в пределах нескольких миль, поэтому я бы не потерял сон над ним.