浮動小数点定数
浮動小数点定数は、小数点定数と呼ばれる数字列の組み合わせが基本的な記法です。数字列は0~9までの数字を使い、ドット記号 . で整数部と少数部を分けます。ドット記号の前の数字列、または直後の数字列のいずれか片方を省略して書くことも可能です。省略された場合、数字列は0と解釈されます。
3.14
1234.56789
.0123
4567.
上記は、すべて適切な浮動小数点定数です。少数点以下を省略することも可能ですし、小数点以下のみでも可能です。
浮動小数点数型の値を表示するには、printf()関数の書式指定文字列で%fを使います。%fは、値を浮動小数点数として解釈しdddd.ddddという形式で画面に表示します。
サンプル03
#include <stdio.h>
int main(void) {
printf("%f\n", 3.14);
printf("%f\n", .14);
printf("%f\n", 3.);
return 0;
}
実行結果
3.140000
0.140000
3.000000
サンプル03は、浮動小数点定数をprintf()関数で表示するプログラムです。このプログラム内の浮動小数点定数は、すべて小数点定数と呼ばれるもっとも基本的な表記方法を使い、ドット記号で区切られた2つの数字列からなります。ドット記号の前後の数字列はいずれかを省略することができ、所略された場合は0と解釈されます。.14は0.14と等しく、3.は3.0と等しくなります。ここで、値として3.0と3は等しく思えますが、実体としては浮動小数点数型と整数型は異なります。浮動小数点数が 2進数でどのように表現されているかについては、割愛させていただきます。浮動小数点数の表現はIEEE754で標準化されています。
浮動小数点定数には、指数部で指数を指定することができます。指数部は、数字列の直後か、または小数点定数の直後に指定することができます。指数部は、eまはたE記号から始まり、その後に数字列を指定します。数字列には、必要であれば + または - 記号を指定できます。
1234e-3
.123E2
上記は、どちらも正しい指数部を持つ浮動小数点定数です。上は、数字列の直後に指数部を指定しています。下は、小数点定数の直後に指数部を指定しています。
サンプル04
#include <stdio.h>
int main(void) {
printf("%f\n", 314e-2);
printf("%f\n", .14E3);
printf("%f\n", 1.23456e4);
return 0;
}
実行結果
3.140000
140.000000
12345.600000
サンプル04では、指数部を持つ浮動小数点定数をprintf()関数で表示しています。