在 C 和 C + + 中,π 这个数字有一个相当愚蠢的问题。据我所知,math.h
中定义的 M_PI
并不是任何标准所要求的。
新的 C + + 标准在标准库中引入了许多复杂的数学问题——双曲函数、 std::hermite
和 std::cyl_bessel_i
、不同的随机数生成器等等。
有没有任何“新”标准为 π 带来了一个常数?如果不是,为什么?没有它,这些复杂的数学怎么算?
我知道 C + + 中关于 π 的类似问题(它们已经有好几年的历史了,标准也已经过时了) ; 我想知道问题的当前状态。
到 C + + 20为止,没有一个标准引入了表示 圆周率(π)的常数。您可以在代码中大致估算出这个数字:
constexpr double pi = 3.14159265358979323846;
我对 为什么,为什么 C + + 也很感兴趣,它仍然没有 π 常数,但是有很多更复杂的数学。
我知道我可以把 π 定义为 4*atan(1)
、 acos(-1)
或 double pi = 3.14;
。当然。但为什么我还是要这么做?没有圆周率,标准数学函数是如何工作的?