Другие языки программирования и технологии

Как написать число ПИ в С++ ?

Как написать число ПИ в С++ ?
Следует объявить статическую константу типа double и инициализировать её значением с точностью 15 знаков после запятой. Лучше конечно все необходимые статические константы поместить в одну структуру и удалить в ней конструктор по умолчанию. Такой подход даёт преимущество в том, что при правильном подключении структуры вся программа будет использовать одну и ту же область памяти. Макроконстанты, наоборот, будут подставляться в код столько раз, сколько встретятся в нём. Вот пример:

#include <iostream>
#include <iomanip>
using namespace std;
struct Math {
Math() = delete;
static const double PI; // pi
static const double E; // e
static const double LOG2E; // log2(e)
static const double LOG10E; // log10(e)
static const double LN2; // ln(2)
static const double LN10; // ln(10)
static const double PI_2; // pi/2
static const double PI_4; // pi/4
static const double _1_PI; // 1/pi
static const double _2_PI; // 2/pi
static const double _2_SQRTPI; // 2/sqrt(pi)
static const double SQRT2; // sqrt(2)
static const double SQRT1_2; // 1/sqrt(2)
};
const double Math::PI = 3.141592653589793;
const double Math::E = 2.718281828459045;
const double Math::LOG2E = 1.442695040888963;
const double Math::LOG10E = 0.434294481903252;
const double Math::LN2 = 0.693147180559945;
const double Math::LN10 = 2.302585092994046;
const double Math::PI_2 = 1.570796326794897;
const double Math::PI_4 = 0.785398163397448;
const double Math::_1_PI = 0.318309886183791;
const double Math::_2_PI = 0.636619772367581;
const double Math::_2_SQRTPI = 1.128379167095512;
const double Math::SQRT2 = 1.414213562373095;
const double Math::SQRT1_2 = 0.707106781186548;
int main() {
cout << fixed << setprecision(15);
cout << "pi = " << Math::PI << '\n';
cout << "e = " << Math::E << '\n';
system("pause");
}

.
АЗ
Александр Зайцев
92 331
Лучший ответ
Константа M_PI из библиотеки С++
aleksandr korovkin Какая именно библиотека?
constexpr float My_PI = 3.14f; /// 3.141592653589793238462643
const double PI = atan(1) * 4;
на это уйдет тысячи лет...

Похожие вопросы