C 浮点常量
“浮点常量”是表示带符号实数的十进制数字。 带符号实数的表现形式包括整数部分、小数部分和指数。 浮点常量用于表示不可更改的浮点值。
语法
floating-point-constant
?
fractional-constant
exponent-part
opt floating-suffix
opt
digit-sequence
exponent-part
floating-suffix
opt
fractional-constant
?
digit-sequence
opt . digit-sequence
[.]
exponent-part
?
e sign
opt digit-sequence
E sign
opt digit-sequence
sign
:以下项之一
+
-
digit-sequence
?
digit
digit-sequence
digit
floating-suffix
:以下项之一
f
l
F
L
你可以省略小数点前面的数字(整数部分)或小数点后面的数字(小数部分),但不能同时省略。 仅在包括一个指数时可省略小数点。 空白字符不能分隔常量的数字或字符。
以下示例阐释了某些形式的浮点常量和表达式:
15.75
1.575E1 /* = 15.75 */
1575e-2 /* = 15.75 */
-2.5e-3 /* = -0.0025 */
25E-4 /* = 0.0025 */
浮点常量为正数,除非它们的前面有减号 (-
)。 在这种情况下,减号将视为一元算术求反运算符。 浮点常量包括类型 float
、double
或 long double
。
不带 f
、F
、l
或 L
后缀的浮点常量类型为 double
。 如果后缀是字母 f
或 F
,则常量的类型为 float
。 如果后缀是字母 l
或 L
,则常量的类型为 long double
。 例如:
10.0L /* Has type long double */
10.0 /* Has type double */
10.0F /* Has type float */
Microsoft C 编译器在内部表示 long double
,与 double
类型相同。 但其实类型是不同的。 若要了解类型 double
、float
和 long double
,请查看基本类型的存储。
如下例所示,可以省略浮点常量的整数部分。 可通过多种方式表达数字 0.75,包括以下示例:
.0075e2
0.075e1
.075e1
75e-2