山巔一寺一壺酒, 爾...
在C語言裡 如何得到 PI的值?
如果是用微軟的Visaul Studio (VC)
- #include <math.h>
- 在compiler 的preproecessor 定義中加入 _USE_MATH_DEFINES
//=== adhoc approaches
#ifndef M_PI
#define M_PI 3.14159265358979323846
#endif
const double pi = 22.0 / 7 ; (不夠準)
const double pi = 355.0 / 113; (比22/7 好些)
const double pi = acos(-1);
const double pi = 4.0 * atan(1.0);
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491...
//=== linux
grep -i pi /usr/include/math.h
# define M_PI 3.14159265358979323846 /* pi */
# define M_2_SQRTPI 1.12837916709551257390 /* 2/sqrt(pi) */
# define M_PIl 3.1415926535897932384626433832795029L /* pi */
//=== 精準度(有效位數?)
#include <stdio.h>
#include <float.h>
double 的精準度 DBL_DIG
float 的精準度 FLT_DIG
long double ?
[ref]
沒有留言:
張貼留言