浮動小数点リテラル は、次のもので構成されます。
整数部と小数部は、両方とも 10 進数で作成されます。整数部か小数部のいずれか一方を省略できますが、 両方とも省略することはできません。また、小数点または指数部のいずれか一方を省略できますが、 両方とも省略することはできません。
.-----------. .-------. V | V | >>-+---+-------+-+--.----digit-+--+--------------+-+--+---+---->< | '-digit-' '-| exponent |-' | +-f-+ | .-------. | +-F-+ | V | | +-l-+ +---digit-+--.--+--------------+----------------+ '-L-' | '-| exponent |-' | | .-------. | | V | | '---digit-+--| exponent |-----------------------' Exponent: .-------. V | |--+-e-+--+----+----digit-+-------------------------------------| '-E-' +-+--+ '- --'
float の大きさの範囲は、おおよそ 1.2e-38 から 3.4e38 までです。double または long double の大きさの範囲は、 おおよそ 2.2e-308 から 1.8e308 までです。 浮動小数点定数が長すぎたり、短すぎたりする場合は、結果は言語によって定義されていません。
サフィックス f または F は float 型を示し、 サフィックス l または L は long double 型を示します。 サフィックスを指定しないと、浮動小数点定数には、double 型が指定されます。
プラス (+) またはマイナス (-) シンボルを浮動小数点リテラルの前に置くことができます。 ただし、それはリテラルの一部ではありません。それは単項演算子と解釈されます。
浮動小数点リテラルの例を次に示します。
浮動小数点定数 | 値 |
---|---|
5.3876e4 | 53,876 |
4e-11 | 0.00000000004 |
1e+5 | 100000 |
7.321E-3 | 0.007321 |
3.2E+4 | 32000 |
0.5e-6 | 0.0000005 |
0.45 | 0.45 |
6.e10 | 60000000000 |
printf 関数を使用して、浮動小数点定数値を表示する場合は、
指定する printf 型変換コード修飾子が、その浮動小数点定数値に対して、十分な大きさであることを確認してください。
関連参照