Вычисление значения PI является одной из сложной проблемы и переговоров по Википедии о приближениях, сделанных для него, и говорит, что трудно вычислить PI точно.
Как C вычисляет PI? Это вычисляет его каждый раз, когда или это использует менее точное фиксированное значение?
В зависимости от библиотеки Вы используете стандартный GNU C, Предопределенные Математические константы здесь... https://www.gnu.org/software/libc/manual/html_node/Mathematical-Constants.html
у Вас уже есть они итак, почему переопределяют их? Ваши системные настольные калькуляторы, вероятно, имеют их и еще более точны, таким образом, Вы могли, но просто быть уверенными Вы не конфликтуете с существующими определенными, чтобы экономить на предупреждениях компиляции, поскольку они склонны получать значения по умолчанию для подобных вещей.Приятного отдыха!
Я не знаю точно, как C
вычисляет PI
непосредственно, поскольку я более знаком с C++
, чем C
; однако, у Вас мог или быть предопределенный C
macro
или const
, такие как:
#define PI 3.14159265359.....
const float PI = 3.14159265359.....
const double PI = 3.14159265359.....
/* If your machine,os & compiler supports the long double */
const long double PI = 3.14159265359.....
или Вы могли вычислить его с любой из этих двух формул:
#define M_PI acos(-1.0);
#define M_PI (4.0 * atan(1.0)); // tan(pi/4) = 1 or acos(-1)
, по моему скромному мнению, я не на 100% уверен, но я думаю atan()
, является более дешевым, чем [1 110].
Просто определите:
#define M_PI acos(-1.0)
Это должно дать Вам точное число PI, с которым работают математические функции. Таким образом, если они изменяют значение PI, они работают с в касательной или косинусе или синусе, затем Ваша программа должна всегда быть up-to-dated ;)