Share via


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

浮動小数点定数は、負符号 ( - ) が前にない限り、正の値です。 この場合、負符号は単項算術否定演算子として扱われます。 浮動小数点定数には、floatdouble、または long double 型があります。

fFl、または 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 doubledouble を同じ型として表します。 ただし、これらの型は異なります。 doublefloatlong double 型については、「基本型のストレージ」を参照してください。

次の例に示すように、浮動小数点定数の整数の部分を省略できます。 数値 0.75 は、次のようなさまざまな方法で表現できます。

.0075e2
0.075e1
.075e1
75e-2

関連項目

C の定数