C 浮動小数点定数
"浮動小数点定数" は符号付き実数を表す 10 進数です。 符号付き実数の表現には、整数部分、小数部分、および指数が含まれます。 変更できない浮動小数点値を表すには、浮動小数点定数を使用します。
構文
floating-point-constant:
fractional-constantexponent-partoptfloating-suffixopt
digit-sequenceexponent-partfloating-suffixopt
fractional-constant:
digit-sequenceopt.digit-sequence
digit-sequence.
exponent-part:
esignoptdigit-sequence
Esignoptdigit-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