在 C++(和 C)中,不带后缀的浮点文字默认为double
,而后缀f
意味着一个float
。但是获得 a 的后缀是什么long double
?
在不知道的情况下,我会定义说,
const long double x = 3.14159265358979323846264338328;
但我担心的是变量x
包含较少的有效位3.14159265358979323846264338328
比 64,因为这是一个double
文字。这种担心有道理吗?
来自 C++ 标准
除非明确指定,否则浮点文字的类型为 double
通过后缀。后缀 f 和 F 指定 float,后缀 l 和 L
指定长双精度。
与 C 标准的相应段落进行比较很有趣。在C语言中使用了术语floating constant
代替floating literal
in C++:
4 无后缀浮点常量的类型为 double。如果后缀为字母 f 或 F,则其类型为 float。如果后缀为字母 l 或 L,则其类型为 long double
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)