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
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