在C++(和C)中,没有后缀的浮点文字默认为double,而后缀f意味着a float.但是后缀是long double什么?
不知道,我会定义,比方说,
const long double x = 3.14159265358979323846264338328;
Run Code Online (Sandbox Code Playgroud)
但我担心的是变量x包含的有效位3.14159265358979323846264338328少于64,因为这是一个double文字.这种担心是否合理?
'准确'和'准确'之间有什么区别?
如果有差异,你能给出一个例子
谢谢!
函数sinpi(x)计算sin(?x),函数cospi(x)计算cos(?x),其中乘以?在函数内部是隐式的。这些功能最初是由Sun Microsystems在1980年代末期扩展为C标准数学库的。IEEE标准754™-2008指定的等价的功能sinPi和cosPi在第9。
有许多计算会自然产生sin(?x)和cos(?x)。一个非常简单的例子是Box-Muller变换(GEP Box和Mervin E. Muller,“关于随机正态偏差的生成的注释”。《数学统计》,第29卷,第2期,第610-611 页) ),则给定两个独立的随机变量U?和你?分布均匀,产生独立的随机变量Z?和Z?标准正态分布:
Z? = ?(-2 ln U?) cos (2 ? U?)
Z? = ?(-2 ln U?) sin (2 ? U?)
Run Code Online (Sandbox Code Playgroud)
另一个示例是度数参数的正弦和余弦计算,如使用Haversine公式的大圆距离计算:
Z? = ?(-2 ln U?) cos (2 ? U?)
Z? = ?(-2 ln U?) sin (2 ? U?)
Run Code Online (Sandbox Code Playgroud)
对于C ++,Boost库提供sin_pi和
cos_pi,某些供应商提供sinpi和cospi功能作为系统库中的扩展。例如,苹果增加__sinpi,__cospi和相应的单精度版本__sinpif,__cospif到iOS 7和OS X 10.9(介绍,幻灯片101)。但是对于许多其他平台,没有C程序可以轻易访问的实现。 …