Wal*_*ter 55 c c++ literals floating-point-precision
在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
文字.这种担心是否合理?
Vla*_*cow 62
来自C++标准
除非后缀明确指定,否则浮动文字的类型为double.后缀f和F指定float,后缀l和L指定long double.
与C标准的相应段落进行比较很有意思.在C中,使用术语 floating constant
代替floating literal
C++:
4未加浮动的常量类型为double.如果以字母f或F为后缀,则表示类型为float.如果以字母l或L为后缀,则其类型为long double